我正在尝试在名称为今天的文件夹中制作文件的副本。如果该文件夹存在,它只是在里面复制,如果不存在,它将创建文件夹并将其复制到那里。这就是我正在做的事情
setlocal
Y:
set dateT=%date:~10,4%%date:~7,2%%date:~4,2%
set "pathFiles=Y:\Myfolder\"
set pathBackup = %pathFiles%%dateT%
pause
if not exist %pathBackup% (
mkdir %pathBackup%
)
cd %pathBackup%
robocopy C:\Users\xxx\Desktop\file.mdb %pathBackup%
它没有真正起作用,你看到有什么错误吗?
非常感谢
答案 0 :(得分:1)
虽然问题已经制定,但这是可以看到的
变量问题
v--- Space included in value
set pathBackup = %pathFiles%%dateT%
^----- Space included in variable name
set "pathBackup=%pathFiles%%dateT%"
路径中的空格可能存在问题。更好地使用引号
if not exist "%pathBackup%\" (
mkdir "%pathBackup%"
)
错误robocopy
用法。您使用的是copy
或xcopy
语法。在robocopy
中,您使用sourceFolder targetFolder fileMask
作为参数。
robocopy "C:\Users\xxx\Desktop" "%pathBackup%" file.mdb
xcopy "C:\Users\xxx\Desktop\file.mdb" "%pathBackup%"
copy "C:\Users\xxx\Desktop\file.mdb" "%pathBackup%"