【发布时间】:2021-07-16 22:04:06
【问题描述】:
这是我的树:
f:\mega\user1\rubbish\ f:\mega\user2\rubbish\ f:\mega\user3\rubbish\ ..... f:\mega\usern\rubbish\
我想(仅)列出各种“垃圾”文件夹中的所有文件。
我试过这个命令没有成功:
DIR F:\mega\*\rubbish\
有什么建议吗?
【问题讨论】:
标签: cmd directory subdirectory
这是我的树:
f:\mega\user1\rubbish\ f:\mega\user2\rubbish\ f:\mega\user3\rubbish\ ..... f:\mega\usern\rubbish\
我想(仅)列出各种“垃圾”文件夹中的所有文件。
我试过这个命令没有成功:
DIR F:\mega\*\rubbish\
有什么建议吗?
【问题讨论】:
标签: cmd directory subdirectory
在 cmd.exe 提示符下试试这个。
powershell -NoLogo -NoProfile -Command ^
"Get-ChildItem -Directory -Path 'F:\mega\*\rubbish'"
当然,在 PowerShell 控制台或 .ps1 文件脚本中更容易。
Get-ChildItem -Directory -Path 'F:\mega\*\rubbish'
或者,可能这会将名称限制为“用户*”子目录。
Get-ChildItem -Directory -Path 'F:\mega\user*\rubbish'
仅获取文件的完全限定路径...
(Get-ChildItem -Directory -Path 'F:\mega\user*\rubbish').FullName
【讨论】:
Wildcards 只能用在路径的 last 元素中,不能用在其他地方。
但是,您可以使用 for /D loop 来解析子目录:
for /D %I in ("F:\mega\user*") do @dir "%~I\rubbish"
要在批处理文件中使用该代码,请不要忘记将%-signs 加倍:
for /D %%I in ("F:\mega\user*") do @dir "%%~I\rubbish"
【讨论】: