从 Windows 命令行中的 %% 参数中排除文件夹

Excluding folders from %% parameter in Windows command line

我想修改以下代码以更好地定位一组文件夹。

我有以下文件夹结构:

C: 包含工作副本,D: 包含要按需恢复的备份副本。 ,我使用以下批处理文件:

for /d %%g in ("C:\Root\*") do rd /s /q "%%g\Data"
xcopy /s /q "D:\Root" "C:\Root"

pause

我现在需要一种方法来指定 %%g 以排除 C:\Root\* 中的文件夹。例如,我希望第 1 行删除 C:\Root\Dir1\DataC:\Root\Dir2\Data 但不删除 C:\Root\Dir3\Data。需要明确排除项,因为包含项集会发生变化。我还需要第 2 行来更好地定位文件夹。但是,我相信这可以通过 XCOPY 的 /EXCLUDE:"D:\Root\Dir3" 开关来完成。

非常感谢您的阅读,并提前进行任何讨论! :)

... do if "%%~g" neq "C:\Root\Dir3" rd ...? – Stephan