[英]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.