Windows其實有很多厲害的功能是書上不會寫的,但是只要你問得出問題來,你就能找到答案,而這個問題通常要用英文去問。
但那是以前,就在我找了茫茫blog海終於研究出來之後,我發現我可以問chatGPT...
好的,既然你能找到我這邊,就代表你問對問題了,答案直接說,原理你就另外去查吧:
這裡用到了cmd終端機的幾個指令,包括了
robocopy
mkdir
for
set
還有神奇的 %date%
開啟一個記事本,編輯純文字,最後把它存成.bat的自動執行檔案,檔案的內容:
-------------------------------------------這是開始線---------------------
@echo off
for /F "tokens=1-4 delims=/ " %%1 IN ("%date%") DO (SET _FolderName=FolderBackup%%1%%2%%3%%4 )
MD %_FolderName%
robocopy C:\Users\OriginalFoolder C:\Users\%_FolderName% /mir
這樣他就會在你指定的位置創建一個帶有日期的資料夾,像是"FolderBackup20230202"這樣子
然後把你的來源資料夾鏡像存入這裡面。
簡單備註一些事情:
如果你要在cmd裡面直接一行行打,第一行的地方要改成
for /F "tokens=1-4 delims=/ " %1 IN ("%date%") DO (SET _MyDate=FolderBackup%1%2%3%4 )
第二行其實是多的,因為第三行robocopy這樣寫,如果原本沒有資料夾,他會幫你創建,但是我喜歡一步一步的感覺
第三行的兩個位置,第一個是來源資料夾,第二個是目的地資料夾,參數/mir是鏡像的方式
%%1%%2%%3%%4 代表了年月日星期,或是星期年月日,每個版本OS好像不太一樣,看著辦修改。
這個.bat自動執行檔案就到這邊,你點兩次它就跑給你看,但是想要在你不點它,他也偷偷自動跑,就要去task scheduler或是工作排程器去設定
去把剛剛做的.bat自動執行檔案選起來,這樣時間到了他就跑一次,直到你硬碟掛掉,或是電腦關機。
如果要取消或是暫停,就去工作排程器裡面把他找出來,刪掉或暫停。
因為系統裡面很多工作,真的很多....
是真的很多很多...
最好你記得你取甚麼名字,方便搜尋。
電腦真的很好玩啊!!!!!!
參考了一些資料,希望這些網頁頁面都能永世長存
https://blog.xuite.net/mypace/wretch/145109081
https://stackoverflow.com/questions/5485853/how-to-create-a-folder-with-name-as-current-date-in-batch-bat-files
https://scarf0910.wordpress.com/2010/09/17/bat%E6%89%B9%E6%AC%A1%E6%AA%94%E6%A1%88%E8%AA%9E%E6%B3%95/
https://stackoverflow.com/questions/5485853/how-to-create-a-folder-with-name-as-current-date-in-batch-bat-files
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1
https://www3.ntu.edu.sg/home/ehchua/programming/howto/Environment_Variables.html
寫一個.bat的批次執行檔案,裡面寫了可以運用cmd命令去竟像備份一個目標資料夾,並且把備份資料夾命名為備份的那一天日期,日期用yyyymmdd表達。這個.bat檔案的內容該怎麼寫?
這個問題我大概花了五六個小時去找答案,剛剛我想到我可以問chatGPT,結果:
是的,經過我五六小時的研究學習,我一看就知道他的程式碼差不多都是對的,就是格式可能有點小差異,但他連%與%%都注意到了。(複製到下面給大家方便ctrl+C)
到底我該不該沮喪呢?
@echo off set source_folder=<你的目標資料夾的路徑> set destination_folder=<你的備份資料夾的路徑> for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b) set mydate=%mydate: =0% robocopy %source_folder% %destination_folder%%mydate% /mir
同場加碼,繼續追問
我現在是真的有點沮喪了...應該早點來問?