使用 robocopy 排除包含文件的目录

使用 robocopy 排除包含文件的目录

我正在使用批处理脚本中的 robocopy 将所有文件备份到外部驱动器上,但我想排除任何包含(直接)名为“.nosync”的文件的文件夹,这样我就可以避免备份包含不需要备份的 GB 数据的几个文件夹。但我不知道该怎么做。

我试过:

robocopy <source> <dest> /mir /xd ".nosync\.."

但 robocopy 似乎不遵循相对路径。有没有办法做到这一点,或者我可以使用其他实用程序将更改的文件镜像到另一个驱动器?

答案1

我测试了这个并且它对我有用:

@echo off
echo.
set /p "Source=Please specify the source folder: "
echo.
set /p "Destination=Please specify the destination folder: "
echo.

set "Source=%Source:"=%"
set "Destination=%Destination:"=%"

pushd "%Source%"

for /f "delims=" %%a in ('dir /b /s /a ^|find /i ".nosync"') do echo %%~dpa>>"%~dp0nocopy.txt"

popd

xcopy "%Source%" "%Destination%" /e /h /r /exclude:nocopy.txt
del /q nocopy.txt

相关内容