我使用robocopy通过批处理文件备份文件夹和单个文件。这对于所有文件夹和几乎所有文件都适用,但不适用于名称以“-”(减号)开头的文件。
我的操作系统:德语Windows 7、64位。 (我不知道这是否重要。)
我的测试批处理文件执行以下操作:
SET fileName=-Test.rar
robocopy "folder 1" "folder 2" "%fileName%"
ECHO Errorlevel: %Errorlevel%
用引号%fileName%
引起的,因为文件名也可以包含空格。
结果是错误:参数无效。
-------------------------------------------------------------------------------
ROBOCOPY :: Robustes Dateikopieren für Windows
-------------------------------------------------------------------------------
Gestartet: Wed Nov 21 15:42:47 2018
Quelle - E:\BackupThisFile\folder 1\
Ziel - E:\BackupThisFile\folder 2\
Dateien :
Optionen: /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
FEHLER: Ungültiger Parameter #3 : "-Test.rar"
[...]
Errorlevel: 16
“ robocopy.exe”的测试版:
它总是导致相同的错误消息或仅等效的错误代码16。
该命令的经过测试的变体形式:
然后我尝试了命令的不同变体。看起来只有1个更改(附加引号)遥不可及:
robocopy "folder 1" "folder 2" \""%fileName%""
但是它也不起作用:
-------------------------------------------------------------------------------
ROBOCOPY :: Robustes Dateikopieren für Windows
-------------------------------------------------------------------------------
Gestartet: Wed Nov 21 15:43:00 2018
Quelle : E:\BackupThisFile\folder 1\
Ziel : E:\BackupThisFile\folder 2\
Dateien : "-Test.rar"
Optionen: /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
0 E:\BackupThisFile\folder 1\
------------------------------------------------------------------------------
Insgesamt KopiertÜbersprungenKeine Übereinstimmung FEHLER Extras
Verzeich.: 1 0 1 0 0 0
Dateien: 0 0 0 0 0 0
Bytes: 0 0 0 0 0 0
Zeiten: 0:00:00 0:00:00 0:00:00 0:00:00
即使可以识别文件名参数,也不会复制任何内容。
我猜参数值中的引号也是错误的。
有人有主意吗?