批量 - 备份文件的副本

时间:2015-07-01 20:24:46

标签: windows batch-file copy

我正在尝试在名称为今天的文件夹中制作文件的副本。如果该文件夹存在,它只是在里面复制,如果不存在,它将创建文件夹并将其复制到那里。这就是我正在做的事情

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% 

它没有真正起作用,你看到有什么错误吗?

非常感谢

1 个答案:

答案 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用法。您使用的是copyxcopy语法。在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%"