使用变量时 Robocopy 批处理文件不复制

Robocopy batch file not copying when using variables

您好,我有以下脚本,它将创建一个带有日期戳的文件夹,并尝试将文件从源复制到目标,同时排除一个文件夹

我直接使用它工作的路径尝试了副本,但是当我使用变量时从未工作过

有什么想法

@echo off
set "sourcePath = C:\temp\"
set "destinationPath = C:"
set "exlude =test2"
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "datestamp=%YYYY%%MM%%DD%"

if not exist "%destinationPath%\%datestamp%" mkdir %destinationPath%\%datestamp%

robocopy %sourcePath% %destinationPath%\%datestamp% /mir /XD %sourcePath%%exlude%

删除变量声明中的空格。别担心,这会吸引所有人。

@echo off
set "sourcePath=C:\temp\"
set "destinationPath=C:"
set "exlude=test2"
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "datestamp=%YYYY%%MM%%DD%"

if not exist "%destinationPath%\%datestamp%" mkdir %destinationPath%\%datestamp%

robocopy %sourcePath% %destinationPath%\%datestamp% /mir /XD %sourcePath%%exlude%