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

Batch file 使用变量时不复制Robocopy批处理文件,batch-file,robocopy,Batch File,Robocopy,您好,我有以下脚本,将创建一个带有日期戳的文件夹,并尝试通过排除文件夹将文件从源复制到目标 我尝试直接使用它工作的路径复制,但当我使用变量时,它从未工作过 有什么想法吗 @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 "d

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

我尝试直接使用它工作的路径复制,但当我使用变量时,它从未工作过

有什么想法吗

@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%

删除变量声明中的空格。别担心,这会让每个人都满意的

@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,或者至少将变量回显到屏幕上,这样你就可以在使用它们执行另一个命令之前看到它们的样子。调试批处理文件的一部分是打开echo,或者至少将变量回显到屏幕上,以便在使用它们执行另一个命令之前可以看到它们的外观。