none
如何建立一個定期移動資料到指定目錄的批次檔 RRS feed

  • 問題

  • 作業系統是server2000

    因機器老舊卻不能停機,所以要建立一個自動移動檔案到新的空間的方式

    目前希望的條件是:

    目的目錄每月建立一個備份月的目錄 : 201407

    每月5號能移動c:\來源 的前一個月的所有檔案到e:\201407  ex:8/5 移動7/1到7/31




    2014年8月11日 上午 03:21

解答

  • Hi micelia

    @echo off
    echo yyyymm = %date:~0,4%%date:~5,2%
    set /a var=(1%date:~5,2%-101)
    echo %var%
    mkdir E:\%date:~0,4%0%var%
    robocopy C:\ E:\%date:~0,4%0%var% *.txt /E

    不清楚您要複製的來源檔案類型,

    以上指令自動抓取系統時間,並在E碟產生上個月的目錄

    robocopy從C掃描txt複製到E碟,您可以在依照自己的需求修改robocopy的指令

    • 已標示為解答 micelia 2014年8月12日 上午 09:37
    2014年8月12日 上午 09:08

所有回覆

  • Hi micelia

    @echo off
    echo yyyymm = %date:~0,4%%date:~5,2%
    set /a var=(1%date:~5,2%-101)
    echo %var%
    mkdir E:\%date:~0,4%0%var%
    robocopy C:\ E:\%date:~0,4%0%var% *.txt /E

    不清楚您要複製的來源檔案類型,

    以上指令自動抓取系統時間,並在E碟產生上個月的目錄

    robocopy從C掃描txt複製到E碟,您可以在依照自己的需求修改robocopy的指令

    • 已標示為解答 micelia 2014年8月12日 上午 09:37
    2014年8月12日 上午 09:08
  • 謝謝您,真的大大的解決了我的問題,不過server2000顯示的date格式有些不同 所以數字也有些調整

    @echo off
    echo yyyymm = %date:~4,4%%date:~9,2%
    set /a var=(1%date:~9,2%-101)
    echo %var%
    mkdir E:\%date:~4,4%0%var%
    robocopy C:\test E:\%date:~4,4%0%var% *.* /E
    del/f /Q C:\test

    古老的機器,真希望早點淘汰

    2014年8月12日 上午 09:39
  • 我會建議挑同步軟體,同步軟體會比對有誤差的檔案才進行備份。

    免費的有很多,在微軟論壇就給微軟的免費版本 SyncToy 2.1 ,有命令列模式可以配合,支援網路芳鄰。

    在還沒換 QNAP Nas 之前,我是滿喜歡 Windows Server 的陰影備份,空間夠可自動備份 64 次,User 也可以自行調閱舊資料,那時我會夜裡跑 SyncToy 讓他備份到其他台去。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2014年8月12日 上午 11:25