古毛 | [分享]利用批次檔備份資料(檔名是依據年月日時分秒)... 因為工作上需要幫使用者備份dbf/mdb .., 只想要簡單利用批次檔加上winrar/7zip等可以使用指令(不用gui)自動備份, 參考網路各種資料,依據年月日時分秒作為檔名... 再加上小弟一點點的修改, 經測試可以符合需求, 如今分享出來給大家, @echo off cls rem 取得日期、時間 rem setting environment variables with todoy's date values for /f "tokens=1-4 delims=-/ " %%i in ('date /t') do ( set year=%%i set month=%%j set day=%%k ) for /f "tokens=1-3 delims=:" %%i in ('time /t') do ( set hour=%%i set minute=%%j ) for /f "tokens=1 delims= " %%i in ("%hour%") do ( set hour=%%i ) for /f "tokens=1-4 delims=: " %%a in ("%time%") do ( set h=%%a set m=%%b set s=%%c ) rem 轉換成民國年 set /a yy=1911 set /a ww=%year%-%yy% for /f "tokens=1-4 delims=. " %%x in ("%s%") do ( set ss=%%x ) set dt=0%ww%%month%%day%-%h%.%m%.%ss% title 資料備份中...0%dt% rem title 資料備份中...0%ww%%month%%day%-%h%.%m%.%ss% rem 使用7z加壓縮 "%programfiles%\7-zip\7z" a DB-"%dt%".zip C:\WinFnd\db >nul if %errorlevel% == 0 goto yes > nul if %errorlevel% == 1 goto 11 > nul :yes echo ================================================================== echo 資料備份OK echo ================================================================== goto end :11 echo ================================================================== echo 資料備份有問題。 echo ================================================================== goto end :end pause @echo off |
回覆 |
あなたの家に行く | 個人的偏見,電腦系統應儘量避免使用中華民國曆的基礎。並非崇洋媚外,而是比較「穩定」。現在還會堅持使用民國年,大都不是技術問題,是人為壓力問題。 使用西元年月日,一萬年之前,總共八位數,不足就補零;使用時分秒,24 小時制,總共六位數,不足就補零。 不同的系統版本和語言地區設定,有時用相同的指令,其結果是會不一樣的。像是 %date% 和 date /t 的內容,在 2000 上的顯示順序不同,在 XP 上則是相同。為了相容性,因此有些人會用 date /t 取代 %date%。 微軟有提供 now.exe 程式,可顯示年/月/日/星期/時/分/秒,在可使用的平台上,其顯示順序都是一致的,缺點當然就是要有這個程式才能完成批次檔的操作。 |
回覆 |
會員 | 回覆: [分享]利用批次檔備份資料(檔名是依據年月日時分秒)... 簡化: @echo off cls echo _________________________________________________________________________ echo ( ) echo ( Backup Script ) echo (_________________________________________________________________________) set /a year=%date:~,4%-1911 set month=%date:~5,2% set day=%date:~8,2% set h=%time:~,2% set m=%time:~3,2% set s=%time:~6,2% 以下相同 set dt=0%year%%month%%day%-%h%.%m%.%s% title 資料備份中...0%dt% rem title 資料備份中...0%year%%month%%day%-%h%.%m%.%s% rem 使用7z加壓縮 "%programfiles%\7-zip\7z" a DB-"%dt%".zip C:\WinFnd\db >nul if %errorlevel% == 0 goto yes > nul if %errorlevel% == 1 goto 11 > nul :yes echo ================================================================== echo 資料備份OK echo ================================================================== goto end :11 echo ================================================================== echo 資料備份有問題。 echo ================================================================== goto end :end pause @echo off 此篇文章於 2009-07-14 07:23 PM 被 bx2aa 編輯。. |
回覆 |
古毛 | 回覆: [分享]利用批次檔備份資料(檔名是依據年月日時分秒)... 二樓的朋友真的利害 ^^ 又讓我學到一招... 一樓的朋友感謝您的建言 ^^ 之所以會用民國年也是一些因素存在, 方便使用者再利用, 或許過些時後看看使用者使用情形再改過來吧~~~ |
回覆 |
會員 | 回覆: [分享]利用批次檔備份資料(檔名是依據年月日時分秒)... 謝謝樓主與2樓 終於學會了如何在 Batch 檔裡取出日期時間了 ^^ |
回覆 |
あなたの家に行く | 自己想的範本。功能大同小異,基本上就是指令的排列組合。 語法: @echo off title Backing up files cd /d c:\winfnd\db ver| find "5.1" > nul if %errorlevel%==0 goto XP ver| find "5.0" > nul if %errorlevel%==0 goto 2000 goto END :XP 7z a "%~dp0DB-%date:~2,2%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%"| find "Everything is Ok" goto END :2000 7z a "%~dp0DB-%date:~6,2%%date:~9,2%%date:~12,2%-%time:~0,2%%time:~3,2%%time:~6,2%"| find "Everything is Ok" goto END :END pause |
回覆 |
|
類似的主題 | ||||
主題 | 主題作者 | 討論版 | 回覆 | 最後發表 |
[分享]Apache虛擬伺服器簡易教學 | uason | ☉ -- 架 站 DIY 討 論 版 | 10 | 2005-05-27 10:00 PM |
[分享]驅動程式網站集合 | yhc5860 | -- Windows 更新 & 驅 動 程 式 版 | 18 | 2002-06-05 04:02 PM |
孫越叔叔的愛情故事,很值得看[分享] | b0913 | -- 網 路 [ 佳 作 / 奇 文 ] 欣 賞 版 | 5 | 2002-04-18 10:15 PM |
分享 | b0913 | -- 網 路 [ 佳 作 / 奇 文 ] 欣 賞 版 | 0 | 2002-04-18 09:16 PM |
分享 | luketeng | -- 光 碟 燒 錄 討 論 版 | 0 | 2001-02-13 01:14 PM |
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。