iT邦幫忙

0

如何寫一個BAT檔每天自動複製

ilove1989 2 年前6006 瀏覽

大家好
我有一個考勤資料 每天都會自動下載數據檔
我想要每天在下載考勤打卡機裡的資料後
每個考勤機有不同的數據檔案
自動複製一份備份檔
並且重新命名 "今天日期"+考勤機機號並且複製到C:/DATE裡面

slime iT邦大師 1 級 ‧ 2 年前 檢舉
窮嘶發發發 iT邦高手 1 級 ‧ 2 年前 檢舉
建議裝 cobian backup 來備份會比較好
他可以自動排程,自動壓縮,自動刪除
這是免費的軟體
halawing iT邦新手 2 級 ‧ 2 年前 檢舉
已經有xcopy和copy了, 我當前常用的是robocopy其實差不了多少就不寫了
不過你額外複製的檔案是否會一直留存?
給你個我現在在部分機器上用的自動刪除檔案排成的BAT內容自己參考了

@echo 刪除指定資料夾 SD 內 RDATE 天前的檔案

set SD="G:\Q\_Users\==== 暫時存放檔案區 ====="
set RDATE=-61

forfiles /P %SD% /S /D %RDATE% /C "cmd /c dir /B /S @path" >>D:\tool\ROF_%date:~0,4%%date:~5,2%%date:~8,2%.txt
forfiles /P %SD% /S /D %RDATE% /C "cmd /c del /F @path"
12
ghost234
iT邦新手 4 級 ‧ 2 年前

copy "%date:~0,4%%date:~5,2%%date:~8,2%".XXX C:/DATE

參考!!

mwp iT邦新手 4 級 ‧ 2 年前 檢舉

記得放排程裡 才會自動喔

morryboy iT邦新手 1 級 ‧ 2 年前 檢舉

再加上7zip還能做到自動壓縮呀

7z a -tzip [目的地資料夾 + 檔案名稱].zip [來源資料夾]

**檔案名稱可利用%date命名

andyboy iT邦研究生 3 級 ‧ 2 年前 檢舉

對,建議用7Zip或WinRAR來壓縮,時間久了對磁碟空間的使用量差很多喔!當然也可以用david75720兄的發法建立資料夾備份,然後定期(每月或季)壓成一個壓縮檔備份後刪除原檔,或者建立壓縮檔時,就直接壓到同一壓縮檔但不同路徑內,就看自己的想像力還有參數的使用了!

2
david75720
iT邦新手 5 級 ‧ 2 年前

FOR /F "tokens=1-4 delims=/ " %%a IN ("%date%") DO SET CUR-DRB=%%a-%%b-%%c

md 存放路徑\%CUR-DRB%

XCOPY "來源路徑" "存放路徑\%CUR-DRB%" /D /K /E /Y /C

出來的東西如以下

julian iT邦新手 5 級 ‧ 2 年前 檢舉

對了,倘若我想要抓每個月第幾週可以嗎?譬如說,一個月有四~五個禮拜一,我想要抓1~5這樣該怎麼做呢?感謝!

david75720 iT邦新手 5 級 ‧ 2 年前 檢舉

你是說抓每週的星期一嗎?

0
eigen
iT邦新手 2 級 ‧ 2 年前

For /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set yy=%%a& set mm=%%b& set dd=%%c)

%yy% %mm% %dd% 就是年月日,要怎麼組合隨你高興

重點是你的原始檔案長怎樣?固定檔名?這就好處理

copy file.name c:\date\%yy%_%mm%_%dd%_file.name

我要發表回答

立即登入回答