[分享]利用批次檔備份資料(檔名是依據年月日時分秒)...

顯示結果從第 1 筆 到 6 筆,共計 6 筆
  1. #1
    古毛
    註冊日期
    2001-05-15
    所在地區
    光纖
    討論區文章
    339

    [分享]利用批次檔備份資料(檔名是依據年月日時分秒)...

    因為工作上需要幫使用者備份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



  2. #2
    萌え尽き症候群 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區
    討論區文章
    10,022
    個人的偏見,電腦系統應儘量避免使用中華民國曆的基礎。並非崇洋媚外,而是比較「穩定」。現在還會堅持使用民國年,大都不是技術問題,是人為壓力問題。

    使用西元年月日,一萬年之前,總共八位數,不足就補零;使用時分秒,24 小時制,總共六位數,不足就補零。

    不同的系統版本和語言地區設定,有時用相同的指令,其結果是會不一樣的。像是 %date% 和 date /t 的內容,在 2000 上的顯示順序不同,在 XP 上則是相同。為了相容性,因此有些人會用 date /t 取代 %date%。

    微軟有提供 now.exe 程式,可顯示年/月/日/星期/時/分/秒,在可使用的平台上,其顯示順序都是一致的,缺點當然就是要有這個程式才能完成批次檔的操作。

  3. #3
    會員
    註冊日期
    2001-05-18
    討論區文章
    1,939

    回覆: [分享]利用批次檔備份資料(檔名是依據年月日時分秒)...

    簡化:
    @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 編輯。

  4. #4
    古毛
    註冊日期
    2001-05-15
    所在地區
    光纖
    討論區文章
    339

    回覆: [分享]利用批次檔備份資料(檔名是依據年月日時分秒)...

    二樓的朋友真的利害 ^^
    又讓我學到一招...

    一樓的朋友感謝您的建言 ^^
    之所以會用民國年也是一些因素存在,
    方便使用者再利用,
    或許過些時後看看使用者使用情形再改過來吧~~~

  5. #5
    會員
    註冊日期
    2005-03-19
    討論區文章
    150

    回覆: [分享]利用批次檔備份資料(檔名是依據年月日時分秒)...

    謝謝樓主與2樓
    終於學會了如何在 Batch 檔裡取出日期時間了 ^^



  6. #6
    萌え尽き症候群 琥珀 的大頭照
    註冊日期
    2002-08-17
    所在地區
    中和區
    討論區文章
    10,022
    自己想的範本。功能大同小異,基本上就是指令的排列組合。

    語法:
    @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

類似的主題

  1. 【教學】利用 WinRAR 定期備份資料
    作者:Mohican 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 29
    最後發表: 2010-12-21, 01:12 PM
  2. [Windows XP] 請問能不能用批次檔來對資料夾設定安全性?
    作者:yihong00 所在討論版:-- Windows 討 論 版
    回覆: 1
    最後發表: 2010-08-23, 11:37 AM
  3. 如何利用批次檔判斷某程式的版本?
    作者:bobhsieh 所在討論版:-- HELP ME 電 腦 軟 硬 體 急 救 版
    回覆: 5
    最後發表: 2009-06-09, 07:19 PM
  4. 【分享】我自己寫的一個變更IP的批次檔
    作者:lulu1305174 所在討論版:---- ADSL 軟 硬 體 技 術
    回覆: 4
    最後發表: 2006-06-28, 02:16 PM
  5. 【求助】請問如何使用批次檔設定資料夾權限?
    作者:pits 所在討論版:-- Windows 討 論 版
    回覆: 2
    最後發表: 2005-04-28, 09:56 AM

 

批次 備份 昨天

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •