【发布时间】:2020-02-25 07:38:05
【问题描述】:
我第一次编写批处理脚本。我正在尝试使用 robocopy 复制名称中包含例如“(E.10)”的所有文件夹。我试过这样的事情:
set Source=C:\Test
set Destination=B:\(E1.10)Test
robocopy %Source% %Destination%\Backup *(E1.10)* /s /r:5 /w:5 /fp /log+:%Destination%\BackupLog\%tmpLogfilename%.log
但它不会复制任何文件夹。做这种事情的最佳方法是什么?
提前致谢。
编辑: 感谢您的回答,但我认为仍然不清楚我想做什么。我有 Source 文件夹,它有许多子目录,例如: C:\Source\C(E1.10)这个 C:\Source\O(E1.10)那个 C:\Source\C(E1.11)这个 C:\Source\O(E1.11) 那 C:\Source\C(E1.10)这个 C:\Source\SomeFolder C:\Source\SomeOtherFolder
我想复制所有文件夹及其文件夹名称中包含 (E1.10) 的完整内容。
【问题讨论】:
-
阅读How to Ask 和minimal reproducible example。
Source和Destination变量在哪里定义?他们有什么价值观?%Source%目录是否包含应该匹配的文件名?运行命令后日志文件的内容是什么?运行命令后%ERRORCODE%的值是多少? -
我已经添加了我的变量的定义。源目录没有任何文件,只有名称匹配的文件夹。我想将它们复制到外部 USB 驱动器。日志文件只是告诉我没有移动文件夹。在哪里以及如何查看 %ERRORCODE% 值?
-
第三个参数是一个掩码,它匹配源目录中的文件,但不匹配目录(文件夹)...
-
你需要
/E代替/S。
标签: batch-file robocopy