簡體   English   中英

在Windows 2008 R2中使用批處理腳本文件進行復制

[英]Copying with batch scriptfile in Windows 2008 R2

我有一個.cmd文件,該文件要用於自動將文件夾從Windows 2008服務器上的映射位置復制到連接到Windows Server Box的外部HDD:

@ECHO OFF
ECHO Backup process started.
set TARGET_FOLDER=Z:\"WindowsImageBackup - Copy"
ECHO TARGET_FOLDER "%TARGET_FOLDER%"
SET DESTINATION_FOLDER=H:\SERVER_BACKUP_IMAGE
ECHO DESTINATION_FOLDER "%DESTINATION_FOLDER%"
For /f "tokens=1-4 delims=/ " %%a in ('date /t') do (set mydate=%%d%%c%%b%%a)
For /f "tokens=1-2 delims=: " %%a in ('time /t') do (set mytime=%%a%%b)
SET BACKUP_FOLDER=BACKUP_%mydate%_%mytime%
ECHO BACKUP_FOLDER "%BACKUP_FOLDER%"
SET FINAL_FOLDER=%DESTINATION_FOLDER%\%BACKUP_FOLDER%
MKDIR "%FINAL_FOLDER%"
ECHO DIRECTORY CREATED "%FINAL_FOLDER%"
ECHO Backup process started ...
XCOPY "%TARGET_FOLDER%" "%FINAL_FOLDER%" >> "%FINAL_FOLDER%\%BACKUP_FOLDER%.log" /Y
ECHO Backup process ended successfully.
@ECHO ON
pause

運行腳本后,將創建目標文件夾,並且創建的日志文件顯示已復制0個文件,但目標文件夾中有文件。 這是輸出:

備份過程開始。 TARGET_FOLDER“ Z:\\” WindowsImageBackup-復制“” DESTINATION_FOLDER“ H:\\ SERVER_BACKUP_IMAGE” BACKUP_FOLDER“ BACKUP_20131409Sat_0333”目錄已創建“ H:\\ SERVER_BACKUP_IMAGE \\ BACKUP_20131409Sat_0333”備份過程已成功啟動...無效的備份過程參數。

C:\\ Control> pause按任意鍵繼續。

第七行很有趣,但我不知道如何解決。 我應該使用什么參數?

有趣的是,如果我在Windows 7筆記本電腦上運行相同的腳本(我具有相同的目錄結構),它將運行並進行相應的復制。

謝謝你的幫助。

您的報價需要改進:

set "TARGET_FOLDER=Z:\WindowsImageBackup - Copy"

/ Y位置錯誤,xcopy沒有filespec,並且您的文件路徑引用需要進行一些清理,如Endoro所述。 這就是使用您的代碼風格(和wmic以獲取可靠的日期/時間戳)的方式。

@ECHO OFF
ECHO Backup process started.
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set "dt=%%a"
set "YY=%dt:~2,2%"
set "YYYY=%dt:~0,4%"
set "MM=%dt:~4,2%"
set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%"
set "Min=%dt:~10,2%"
set "Sec=%dt:~12,2%"
set fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%

set "TARGET_FOLDER=Z:\WindowsImageBackup - Copy"
SET "DESTINATION_FOLDER=H:\SERVER_BACKUP_IMAGE"
SET "BACKUP_FOLDER=BACKUP_%fullstamp%"
SET "FINAL_FOLDER=%DESTINATION_FOLDER%\%BACKUP_FOLDER%"

ECHO TARGET_FOLDER "%TARGET_FOLDER%"
ECHO DESTINATION_FOLDER "%DESTINATION_FOLDER%"
ECHO BACKUP_FOLDER "%BACKUP_FOLDER%"
MKDIR "%FINAL_FOLDER%" 2>nul
ECHO DIRECTORY CREATED "%FINAL_FOLDER%"
ECHO Backup process started ...
XCOPY "%TARGET_FOLDER%\*.*" "%FINAL_FOLDER%\" /Y >>"%FINAL_FOLDER%\%BACKUP_FOLDER%.log" 
ECHO Backup process ended
pause

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM