簡體   English   中英

bat文件更改為備份文件夾文件,僅當更改增量名稱時

[英]bat file to backup folder files only if changed increment name

我試圖創建一個bat文件(xp / 7),以便將本地文件夾中的所有文件復制到網絡驅動器文件夾中,但前提是文件已更改。 如果他們更改了,我想將文件名加1或加上一個日期(這似乎是人們說的更容易)。

例如,我有一個名為database的文件夾,其中包含4或5個文件,其內容或名稱可能會偶爾更改,我想自動將它們的副本復制到網絡驅動器上(如果更改的話,每天或每小時)。 並非所有文件每天都會更改,但是如果確實更改,我想增加其文件名以保留以前的版本。

我將如何去做,是否有更好的方法去做?

謝謝

這未經測試-它應該通過添加啟動蝙蝠的日期和時間戳來復制更改的文件,並復制不存在的文件。

用於獲得可靠日期戳的Wmic需要XP Pro或更高版本。

@echo off
cd /d "local folder"
set "remote=\\server\share"
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set "dt=%%a"
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%

for %%a in (*.*) do (
   if exist "%remote%\%%a" (
     for %%b in ("%remote%\%%a") do if not "%%~ta"=="%%~tb" copy "%%a" "%remote%\%%~na-%fullstamp%%%~xa"
   ) else (
     copy "%%a" "%remote%"
   )
)

暫無
暫無

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

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