我想删除C:\ temp中的所有文件和文件夹,除了一个包含大量文件和子文件夹的特定文件夹(C:\ temp \ 123)。
我尝试使用pushd "c:\temp\123" && rd /s /q "c:\temp"
,但它会删除c:\ temp \ 123
任何人都可以帮忙解决上述问题吗?
答案 0 :(得分:6)
您可以通过以下方式执行此操作:
pushd "C:\Temp" || exit /B 1
for /D %%D in ("*") do (
if /I not "%%~nxD"=="123" rd /S /Q "%%~D"
)
for %%F in ("*") do (
del "%%~F"
)
popd
这与此方法非常相似:Batch command to delete everything (sub folders and files) from a folder except one file。