Windows 更改命令以排除子文件夹
我正在使用这个命令行Windows 更改命令以排除子文件夹,windows,cmd,command-line,windows-vista,Windows,Cmd,Command Line,Windows Vista,我正在使用这个命令行 for /r /d %F in (.) do @dir /b "%F" | findstr "^" >nul || echo %~fF 查找空文件夹 但是,此命令也适用于子文件夹。如何将其更改为排除子文件夹 从命令中删除/r,使用以下命令: for /d %F in (*) do @dir /b "%F" | findstr "^" >nul || echo %~fF 从命令中删除/r,使用以下命令: for /d %F in (*) do @dir /
for /r /d %F in (.) do @dir /b "%F" | findstr "^" >nul || echo %~fF
查找空文件夹
但是,此命令也适用于子文件夹。如何将其更改为排除子文件夹 从命令中删除
/r
,使用以下命令:
for /d %F in (*) do @dir /b "%F" | findstr "^" >nul || echo %~fF
从命令中删除
/r
,使用以下命令:
for /d %F in (*) do @dir /b "%F" | findstr "^" >nul || echo %~fF
因为这显然是针对当前目录的,所以我会选择稍微不同的替代方案。这是因为
For/D
不会选择每个目录,它会忽略隐藏的目录,并且Dir/B
本身不会选择每个文件和目录
For/F“EOL=?Delims=“%G In('Dir/B/AD')Do@Dir/B/A”%G“2>NUL |%\uuuu AppDir\uuuu%find.exe/V”“>NUL | | Echo%G
如果您喜欢结果的相对路径,只需使用Echo.\%G
答案使用2>NUL
将任何未找到的文件
错误消息重定向到NUL设备。它还使用find.exe
作为findstr.exe
的替代方案,以确保答案与现有答案不太相似,并且因为您并不真正需要它的特殊功能
要获取有关所用命令的详细信息,请打开一个窗口,根据需要输入以下命令:
命令For
或For/?
帮助For
命令Dir
或Dir/?
help Dir
命令Find
或Find/?
help Find
命令Echo
或Echo/?
help Echo
%\uuuu AppDir\uuuu%
变量是一个特殊的动态创建变量,其内容无法修改。无论是在32位还是64位进程下运行,它都将始终指向相应的\System32
目录。结果是,如果您的标准环境损坏或修改,该命令将不会在其正确位置运行Microsoft的相应版本的find.exe
,从而消除故障。此外,我使用了.exe
扩展名作为find
,因为它不是一个内部命令,如果%PATHEXT%
变量损坏或修改,该命令仍然可以正常工作。
[编辑] 当您进一步澄清您正在寻找的是那些没有文件,而不是没有文件和目录的用户时,我将提供此替代方案,使用Microsoft的
where.exe
,minumum:
For/F“EOL=?Delims=“%G In('Dir/B/AD')Do@%\uuuuu AppDir\uuuuu%where.exe/Q”%G“:*>Nul| | Echo%G
如果您喜欢结果的相对路径,只需使用Echo.\%G
要获取有关
where
命令的更多信息,请打开一个窗口,然后输入以下命令,where/?
,或者输入此帮助where
,因为这显然适用于当前目录,因此我会选择稍微不同的选项。这是因为For/D
不会选择每个目录,它会忽略隐藏的目录,并且Dir/B
本身不会选择每个文件和目录
For/F“EOL=?Delims=“%G In('Dir/B/AD')Do@Dir/B/A”%G“2>NUL |%\uuuu AppDir\uuuu%find.exe/V”“>NUL | | Echo%G
如果您喜欢结果的相对路径,只需使用Echo.\%G
答案使用2>NUL
将任何未找到的文件
错误消息重定向到NUL设备。它还使用find.exe
作为findstr.exe
的替代方案,以确保答案与现有答案不太相似,并且因为您并不真正需要它的特殊功能
要获取有关所用命令的详细信息,请打开一个窗口,根据需要输入以下命令:
命令For
或For/?
帮助For
命令Dir
或Dir/?
help Dir
命令Find
或Find/?
help Find
命令Echo
或Echo/?
help Echo
%\uuuu AppDir\uuuu%
变量是一个特殊的动态创建变量,其内容无法修改。无论是在32位还是64位进程下运行,它都将始终指向相应的\System32
目录。结果是,如果您的标准环境损坏或修改,该命令将不会在其正确位置运行Microsoft的相应版本的find.exe
,从而消除故障。此外,我使用了.exe
扩展名作为find
,因为它不是一个内部命令,如果%PATHEXT%
变量损坏或修改,该命令仍然可以正常工作。
[编辑] 当您进一步澄清您正在寻找的是那些没有文件,而不是没有文件和目录的用户时,我将提供此替代方案,使用Microsoft的
where.exe
,minumum:
For/F“EOL=?Delims=“%G In('Dir/B/AD')Do@%\uuuuu AppDir\uuuuu%where.exe/Q”%G“:*>Nul| | Echo%G
如果您喜欢结果的相对路径,只需使用Echo.\%G
若要获取有关
where
命令的详细信息,请打开一个窗口,然后输入以下命令,where/?
,或者输入此帮助where
是否可以扩展“空文件夹”的定义?您正在查找当前目录中不包含文件的子目录吗?或当前目录的子目录,其中不包含任何文件,也不包含任何目录?我只查找具有空文件夹(没有文件)的当前目录。难道不可能只看到文件夹大小为0 KB而不扫描每个文件夹吗?Vishwas,我已经更新了我的exiti