我正在使用robocopy将所有文件和文件夹从一个目录复制到另一个目录。 每次执行脚本时,目录都将被复制到新的带时间戳的文件夹中。
但是我遇到了以下错误:
没有目的地目录指定
以下是代码:
echo off
set newDirectory = C:\Users\cmooney\Desktop
set DirName=%date:~-4,4%.%date:~-7,2%.%date:~0,2%.%time:~0,2%.%time:~3,2%
MD \%newDirectory%
set source = C:\Users\cmooney\Desktop\FolderA
rem /e copy all subdirs /z try again if fails /NMir copy only new files
robocopy %source% %DirName% /e /z /Mir
rem leave cmd line open
pause
REM If there are no changes, robocopy will not copy anything. If you have tried
REM and it worked, .... if no changes, no file copy.
赞赏任何输入
答案 0 :(得分:1)
问题是SET
命令中的空格。例如:
set source = C:\Users\cmooney\Desktop\FolderA
使用值%source %
创建一个名为C:\Users\cmooney\Desktop\FolderA
的变量(注意末尾的空格)(注意开头的空格)。
因此,当您尝试使用%source%
时,它实际上不存在。这也与%newDirectory%
相同。
相反,请将变量设置为:
set "newDirectory=C:\Users\cmooney\Desktop"
set "source=C:\Users\cmooney\Desktop\FolderA"
这将确保不包括任何前导/尾随空格。