我可以使用哪些命令(从命令提示符)从文件夹中删除所有文件和所有子目录,但不删除文件夹本身?基本上,删除结束时应该有一个空文件夹。
答案1
cd <foldername>
del *.*
将删除文件。你需要执行
rmdir /s <subfolder>
对于每个子文件夹。
更新
在批处理文件中尝试此操作:
@echo off
cd "%1"
del *.* /y
for /d %%i in (*) do rmdir /s /q "%%i"
将其命名为 EmptyDir.bat。然后你可以输入:
emptydir <dirname>
它将删除该文件夹中的文件和文件夹,但将文件夹保留在那里。
答案2
$> wipe.bat myExampleFolder
rmdir /s $1
mkdir $1
通过此解决方案,您可以指定相对于当前文件夹甚至绝对路径。
一定要意识到危险。例如,如果您选择删除的文件夹不存在。(这就是为什么例如cd <targetdir>| del *.*
可能非常危险的原因……如果您寻找其他解决方案,current-directory-restore 可能是您的朋友:
@set OLDDIR=%CD%
cd $1
echo do stuff...
@cd /d %OLDDIR%