Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 批处理以删除空目录(并说明哪些目录不是空的?)_File_Batch File_Organization - Fatal编程技术网

File 批处理以删除空目录(并说明哪些目录不是空的?)

File 批处理以删除空目录(并说明哪些目录不是空的?),file,batch-file,organization,File,Batch File,Organization,我正在使用: for /f "tokens=*" %%d in ('dir /ad/b/s ^| sort /R') do rd "%%d" pause 返回: The directory is not empty. 对于任何非空目录。有没有办法让它明确列出哪些目录不是空的,而不是含糊不清的声明?我知道手动检查目录不需要太多的努力,但这是一个更大的脚本的一部分,我正试图使它更方便用户 rd返回您可以使用的ERRORLEVEL,只需更改: rd "%%d" 为此: rd "%%d" || (

我正在使用:

for /f "tokens=*" %%d in ('dir /ad/b/s ^| sort /R') do rd "%%d"
pause
返回:

The directory is not empty.

对于任何非空目录。有没有办法让它明确列出哪些目录不是空的,而不是含糊不清的声明?我知道手动检查目录不需要太多的努力,但这是一个更大的脚本的一部分,我正试图使它更方便用户

rd
返回您可以使用的
ERRORLEVEL
,只需更改:

rd "%%d"
为此:

rd "%%d" || (echo Not empty: %%d)
要从
rd
中删除错误消息,只需将
stderr
重定向到
nul

rd "%%d" 2>nul || (echo Not empty: %%d)

很好,谢谢。有没有办法只显示文件夹的名称,而不是完整路径?@user2100577-试试
不为空:%%~nd
这正是我需要的,谢谢。我还在习惯奇怪的语法。确保文件夹名称也使用
x
,因为任何包含句点的文件夹名称都将在
n
x
之间划分<代码>回显不为空:%%~nxd