Batch file 如何创建批处理文件以将文件复制到具有完全访问权限的共享文件夹,然后记录所有结果&;文件错误?

Batch file 如何创建批处理文件以将文件复制到具有完全访问权限的共享文件夹,然后记录所有结果&;文件错误?,batch-file,xcopy,windows-xp-sp3,Batch File,Xcopy,Windows Xp Sp3,我已经创建了下面的批处理文件,但没有成功 @ECHO OFF @ECHO "Backup process started." @SET TARGET_FILES = "\\pc1\temp\*.mdb" @ECHO "TARGET_FILES:%TARGET_FILES%" @SET DESTINATION_FOLDER = "\\pc1\temp\Backups" @ECHO "DESTINATION_FOLDER:%DESTINATION_FOLDER%" @SET BACKUP_F

我已经创建了下面的批处理文件,但没有成功

@ECHO OFF

@ECHO "Backup process started."

@SET TARGET_FILES = "\\pc1\temp\*.mdb"
@ECHO "TARGET_FILES:%TARGET_FILES%"

@SET DESTINATION_FOLDER = "\\pc1\temp\Backups"
@ECHO "DESTINATION_FOLDER:%DESTINATION_FOLDER%"

@SET BACKUP_FOLDER = "Backup%date:~10,4%%date:~4,2%%date:~7,2%"
@ECHO "BACKUP_FOLDER:%BACKUP_FOLDER%"

@SET FINAL_FOLDER = "%DESTINATION_FOLDER%\%BACKUP_FOLDER%"
MKDIR %FINAL_FOLDER%
@ECHO "DIRECTORY CREATED:%FINAL_FOLDER%"

XCOPY %TARGET_FILES% %FINAL_FOLDER% >> %FINAL_FOLDER%\%BACKUP_FOLDER%.log

@ECHO "Backup process ended successfully."

@ECHO ON
环境: 它将是使用Windows XP SP3在C:\Windows\Tasks中计划的任务

输出:

"Backup process started."
"TARGET_FILES:"
"DESTINATION_FOLDER:"
"BACKUP_FOLDER:"
The syntax of the command is incorrect.
"DIRECTORY CREATED:"
Invalid number of parameters
"Backup process ended successfully."
@ECHO OFF
ECHO Backup process started.

set TARGET_FILES=\\pc1\temp\*.mdb
ECHO TARGET_FILES "%TARGET_FILES%"

SET DESTINATION_FOLDER=\\pc1\temp\Backups
ECHO DESTINATION_FOLDER "%DESTINATION_FOLDER%"

SET BACKUP_FOLDER=Backup%date:~0,4%%date:~5,2%%date:~8,2%
ECHO BACKUP_FOLDER "%BACKUP_FOLDER%"

SET FINAL_FOLDER=%DESTINATION_FOLDER%\%BACKUP_FOLDER%
MKDIR "%FINAL_FOLDER%"
ECHO DIRECTORY CREATED "%FINAL_FOLDER%"

XCOPY "%TARGET_FILES%" "%FINAL_FOLDER%" >> "%FINAL_FOLDER%\%BACKUP_FOLDER%.log"

ECHO Backup process ended successfully.

@ECHO ON
Backup process started.
TARGET_FILES "\\pc1\temp\*.mdb"
DESTINATION_FOLDER "\\pc1\temp\Backups"
BACKUP_FOLDER "Backup20120214"
DIRECTORY CREATED "\\pc1\temp\Backups\Backup20120214"
Backup process ended successfully.
任何关于正确方向的指导都是值得赞赏的

更新1: 我注意到我的变量没有设置

更新2:

"Backup process started."
"TARGET_FILES:"
"DESTINATION_FOLDER:"
"BACKUP_FOLDER:"
The syntax of the command is incorrect.
"DIRECTORY CREATED:"
Invalid number of parameters
"Backup process ended successfully."
@ECHO OFF
ECHO Backup process started.

set TARGET_FILES=\\pc1\temp\*.mdb
ECHO TARGET_FILES "%TARGET_FILES%"

SET DESTINATION_FOLDER=\\pc1\temp\Backups
ECHO DESTINATION_FOLDER "%DESTINATION_FOLDER%"

SET BACKUP_FOLDER=Backup%date:~0,4%%date:~5,2%%date:~8,2%
ECHO BACKUP_FOLDER "%BACKUP_FOLDER%"

SET FINAL_FOLDER=%DESTINATION_FOLDER%\%BACKUP_FOLDER%
MKDIR "%FINAL_FOLDER%"
ECHO DIRECTORY CREATED "%FINAL_FOLDER%"

XCOPY "%TARGET_FILES%" "%FINAL_FOLDER%" >> "%FINAL_FOLDER%\%BACKUP_FOLDER%.log"

ECHO Backup process ended successfully.

@ECHO ON
Backup process started.
TARGET_FILES "\\pc1\temp\*.mdb"
DESTINATION_FOLDER "\\pc1\temp\Backups"
BACKUP_FOLDER "Backup20120214"
DIRECTORY CREATED "\\pc1\temp\Backups\Backup20120214"
Backup process ended successfully.
更新的输出2:

"Backup process started."
"TARGET_FILES:"
"DESTINATION_FOLDER:"
"BACKUP_FOLDER:"
The syntax of the command is incorrect.
"DIRECTORY CREATED:"
Invalid number of parameters
"Backup process ended successfully."
@ECHO OFF
ECHO Backup process started.

set TARGET_FILES=\\pc1\temp\*.mdb
ECHO TARGET_FILES "%TARGET_FILES%"

SET DESTINATION_FOLDER=\\pc1\temp\Backups
ECHO DESTINATION_FOLDER "%DESTINATION_FOLDER%"

SET BACKUP_FOLDER=Backup%date:~0,4%%date:~5,2%%date:~8,2%
ECHO BACKUP_FOLDER "%BACKUP_FOLDER%"

SET FINAL_FOLDER=%DESTINATION_FOLDER%\%BACKUP_FOLDER%
MKDIR "%FINAL_FOLDER%"
ECHO DIRECTORY CREATED "%FINAL_FOLDER%"

XCOPY "%TARGET_FILES%" "%FINAL_FOLDER%" >> "%FINAL_FOLDER%\%BACKUP_FOLDER%.log"

ECHO Backup process ended successfully.

@ECHO ON
Backup process started.
TARGET_FILES "\\pc1\temp\*.mdb"
DESTINATION_FOLDER "\\pc1\temp\Backups"
BACKUP_FOLDER "Backup20120214"
DIRECTORY CREATED "\\pc1\temp\Backups\Backup20120214"
Backup process ended successfully.
日志

\\pc1\temp\file1.mdb
\\pc1\temp\file1_be.mdb
2 File(s) copied
使用新代码(UPDATES2),我已成功地将所有mdb文件复制到目标文件夹,但我的所有回显消息均未被记录。如何将所有要记录的回显消息包括在内?

我想您需要添加

**cd /d %~dp0\**   
(“%~dp0”可以将运行时目录替换为批处理文件的完整路径)

在你的第一行

cd/d%~dp0表示cd/d:\currentfolder

更新:

"Backup process started."
"TARGET_FILES:"
"DESTINATION_FOLDER:"
"BACKUP_FOLDER:"
The syntax of the command is incorrect.
"DIRECTORY CREATED:"
Invalid number of parameters
"Backup process ended successfully."
@ECHO OFF
ECHO Backup process started.

set TARGET_FILES=\\pc1\temp\*.mdb
ECHO TARGET_FILES "%TARGET_FILES%"

SET DESTINATION_FOLDER=\\pc1\temp\Backups
ECHO DESTINATION_FOLDER "%DESTINATION_FOLDER%"

SET BACKUP_FOLDER=Backup%date:~0,4%%date:~5,2%%date:~8,2%
ECHO BACKUP_FOLDER "%BACKUP_FOLDER%"

SET FINAL_FOLDER=%DESTINATION_FOLDER%\%BACKUP_FOLDER%
MKDIR "%FINAL_FOLDER%"
ECHO DIRECTORY CREATED "%FINAL_FOLDER%"

XCOPY "%TARGET_FILES%" "%FINAL_FOLDER%" >> "%FINAL_FOLDER%\%BACKUP_FOLDER%.log"

ECHO Backup process ended successfully.

@ECHO ON
Backup process started.
TARGET_FILES "\\pc1\temp\*.mdb"
DESTINATION_FOLDER "\\pc1\temp\Backups"
BACKUP_FOLDER "Backup20120214"
DIRECTORY CREATED "\\pc1\temp\Backups\Backup20120214"
Backup process ended successfully.
好的,我想你只是想把文件从A复制到B

我根据您的代码为您创建了一个示例

我的文件夹在

D:\Run
│  main.bat  >> the copy batch
│  
└─Test
    │  new.txt
    │  
    └─Backups
        └─20120214          >> created new folder
主要的问题是

@ECHO OFF

cd /d %~dp0\

ECHO Backup process started.

SET TARGET_FILES="Test\*.txt"
ECHO TARGET_FILES:%TARGET_FILES%


SET DESTINATION_FOLDER=Test\Backups\%date:/=%
ECHO DESTINATION_FOLDER:%DESTINATION_FOLDER%

SET FINAL_FOLDER=%DESTINATION_FOLDER%
ECHO FINAL_FOLDER:%FINAL_FOLDER%
MD "%FINAL_FOLDER%"
ECHO "DIRECTORY CREATED:%FINAL_FOLDER%

XCOPY %TARGET_FILES% %FINAL_FOLDER%

ECHO Backup process ended successfully.

@ECHO ON

我希望这能对你有所帮助。

我很感激,但很抱歉我听不懂。你能详细说明一下吗?非常感谢。对于其他日志,我创建了另一个批处理文件来执行批处理文件<代码>batchfile.bat>>%LOG\u FULL\u PATH%