删除除一个以外的所有文件夹

Delete all folders except one

我想删除我 C:\temp 中的所有文件和文件夹,除了一个包含大量文件和子文件夹的特定文件夹 (C:\temp3)。

我尝试使用 pushd "c:\temp3" && rd /s /q "c:\temp",但它会删除 c:\temp3 中的所有子文件夹和文件。

任何人都可以帮助解决以上问题吗?

您可以通过以下方式进行:

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

这与此方法非常相似: