批量使用 robocopy 找不到目标目录
No destination directory found using robocopy in batch
我正在使用 robocopy 将所有文件和文件夹从一个目录复制到另一个目录。
每次执行脚本时,该目录将被复制到一个新的带有时间戳的文件夹中。
但是我收到以下错误:
No destination directory Specfied
代码如下:
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.
感谢任何意见
问题出在您的 SET
命令中的 space。例如:
set source = C:\Users\cmooney\Desktop\FolderA
创建一个名为 %source %
的变量(注意末尾的 space),值为 C:\Users\cmooney\Desktop\FolderA
(注意开头的 space)。
所以当你尝试使用%source%
时,它实际上并不存在。 %newDirectory%
也是一样。
相反,像这样设置变量:
set "newDirectory=C:\Users\cmooney\Desktop"
set "source=C:\Users\cmooney\Desktop\FolderA"
这将确保不包含任何 leading/trailing space。
我正在使用 robocopy 将所有文件和文件夹从一个目录复制到另一个目录。 每次执行脚本时,该目录将被复制到一个新的带有时间戳的文件夹中。
但是我收到以下错误:
No destination directory Specfied
代码如下:
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.
感谢任何意见
问题出在您的 SET
命令中的 space。例如:
set source = C:\Users\cmooney\Desktop\FolderA
创建一个名为 %source %
的变量(注意末尾的 space),值为 C:\Users\cmooney\Desktop\FolderA
(注意开头的 space)。
所以当你尝试使用%source%
时,它实际上并不存在。 %newDirectory%
也是一样。
相反,像这样设置变量:
set "newDirectory=C:\Users\cmooney\Desktop"
set "source=C:\Users\cmooney\Desktop\FolderA"
这将确保不包含任何 leading/trailing space。