Batch file 使用「;rmdir";功能,但保留指定的目录
我想要Batch file 使用「;rmdir";功能,但保留指定的目录,batch-file,cmd,windows-console,Batch File,Cmd,Windows Console,我想要rmdir/s的功能,但我需要保留指定的目录rmdir/s删除指定目录之外的所有文件和子目录 我也尝试过使用del/s,但是在指定的目录中,我留下了空文件夹。我也需要删除那些文件夹 有关如何执行此操作的任何指导信息?最简单的方法是将目录更改为指定目录,并在“.”目录上调用rd命令。比如: cd toYourDirectory (or pushd toYourDirectory) rd /q /s . 2> nul /确保你不会被提示 /s-待办事项子文件夹、文件等 在 “.”-表
rmdir/s
的功能,但我需要保留指定的目录rmdir/s
删除指定目录之外的所有文件和子目录
我也尝试过使用del/s
,但是在指定的目录中,我留下了空文件夹。我也需要删除那些文件夹
有关如何执行此操作的任何指导信息?最简单的方法是将目录更改为指定目录,并在“.”目录上调用rd命令。比如:
cd toYourDirectory (or pushd toYourDirectory)
rd /q /s . 2> nul
- /确保你不会被提示
- /s-待办事项子文件夹、文件等 在
- “.”-表示当前目录
- 2> nul-确保它不会报告 rd命令尝试删除自身时出现的错误(即 (你想要什么)
dir
输出。直接使用for
进行迭代时,Unicode文件名存在严重缺陷。在这种情况下,您可以简单地使用一个普通的for
循环,内部带有一个条件。虽然我不太明白你为什么需要省略一个目录,但是使用rmdir和mkdir会丢失这个目录上的任何特殊权限(acl)。
FOR /F "USEBACKQ tokens=*" %%F IN (`dir /b /a:d /s "C:\Documents and Settings\Mechaflash\" ^| FIND /v /i "C:\Documents and Settings\Mechaflash\"`) DO (
rmdir /s "%%F"
)
DEL /Q /F "C:\Documents and Settings\Mechaflash\*"
cd toYourDirectory (or pushd toYourDirectory)
rd /q /s . 2> nul