[20170425]實現磁碟檔案與U盤同步.txt
[20170425]實現磁碟檔案與U盤同步.txt
--//工作需要實現磁碟檔案與U盤同步,也就是每天下班前拷貝磁碟檔案到U盤,而回到家再需要U盤檔案拷貝到本地磁碟,如此反覆。
--//隨著檔案越來越多,裡面都是很小的文字檔案,每次拷貝非常浪費時間,從以前幾分鐘到現在將近1X分鐘,越來越慢。
--//我以前的指令碼核心內容大致如下:
--// 說明 U:表示U盤, H:
--//in.bat U盤到本地磁碟
xcopy /d/e/y U:\blog\*.* h:\blog
--//out.bat 本地磁碟到U盤
xcopy /d/e/y h:\blog\*.* U:\blog\*.*
--//實際上這樣僅僅修改更新的檔案才覆蓋,真正拷貝的檔案不是很多,隨著裡面檔案增加,磁碟與U盤對比浪費許多時間,越來越慢。
--//於是開始考慮別的解決方法:
--//許多站點提到了robocopy,我看了一下不是很合適。
--//找到如下連結:
blog.csdn.net/kk185800961/article/details/42194327
--//不過竟然使用xcopy /EXCLUDE的排他模式,顯然這樣不是很科學,正常選擇拷貝檔案就OK了。
--//裡面提到了無法使用+在forfiles。實際上+支援日期模式:
R:\>forfiles /?
...
示例:
FORFILES /?
FORFILES
FORFILES /P C:\WINDOWS /S /M DNS*.*
FORFILES /S /M *.txt /C "cmd /c type @file | more"
FORFILES /P C:\ /S /M *.bat
FORFILES /D -30 /M *.exe
/C "cmd /c echo @path 0x09 在 30 前就被更改。"
FORFILES /D 2001/01/01
/C "cmd /c echo @fname 在 2001年1月1日就是新的。"
FORFILES /D +2017/4/25 /C "cmd /c echo @fname 今天是新的。"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FORFILES /M *.exe /D +1
FORFILES /S /M *.doc /C "cmd /c echo @fsize"
FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"
--//注意看下劃線以及日期格式。
--//有了這些知識,就有了前面2篇blog,windows批處理指令碼真麻煩。
http://blog.itpub.net/267265/viewspace-2137952/
http://blog.itpub.net/267265/viewspace-2137957/
--//inx.bat U盤到本地磁碟
echo @echo on > d:\usb.bat
sleep 1
echo echo start sync file from usb >> d:\usb.bat
sleep 1
echo h: >> d:\usb.bat
sleep 1
echo cd \blog >> d:\usb.bat
sleep 1
echo D:\tools\linux\usr\local\wbin\date "+%%%%T" >> d:\usb.bat
rem xcopy /d/e/y *.* h:\blog\*.*
forfiles /p "U:\blog" /m * /s /d +2017/04/24 /c "cmd /c if @isdir==FALSE echo echo F ^| xcopy /d/e/y @path @relpath" >> d:\usb.bat
rem forfiles /p "o:\blog" /m * /s /d +%date:~0,10% /c "cmd /c if @isdir==FALSE echo echo F ^| xcopy /d/e/y @path @relpath" >> d:\usb.bat
sleep 1
echo D:\tools\linux\usr\local\wbin\date "+%%%%T" >> d:\usb.bat
sleep 1
echo echo end sync >> d:\usb.bat
sleep 1
echo pause >> d:\usb.bat
pause
call d:\usb.bat
--//生成xcopy命令前加入管道,是因為如果是新檔案目的地沒有windows會提示是目錄還是檔案,正常選擇F,於是前面有了echo F。
--//另外為了輸出| ,前面必須加一個轉義符號^.昏,微軟的批處理指令碼語言真混亂。
--//如果輸出到檔案usb.bat的時間不適合可以自己改,我不想再寫了。
--//outx.bat 本地磁碟到U盤
echo @echo on > d:\usb.bat
sleep 1
echo echo start sync file to usb >> d:\usb.bat
sleep 1
echo U: >> d:\usb.bat
sleep 1
echo cd \blog >> d:\usb.bat
sleep 1
echo D:\tools\linux\usr\local\wbin\date "+%%%%T" >> d:\usb.bat
rem xcopy /d/e/y *.* h:\blog\*.*
sleep 1
forfiles /p "h:\blog" /m * /s /d +%date:~0,10% /c "cmd /c if @isdir==FALSE echo echo F ^| xcopy /d/e/y @path @relpath" >> d:\usb.bat
sleep 1
echo D:\tools\linux\usr\local\wbin\date "+%%%%T" >> d:\usb.bat
sleep 1
echo echo end sync >> d:\usb.bat
sleep 1
echo pause >> d:\usb.bat
pause
call d:\usb.bat
--//這樣U盤拷貝到磁碟稍微慢一點,基本也在3-4分鐘解決問題。磁碟到U盤很快,基本1-2分鐘。
--//還有一些疑問windows指令碼如何獲取前一天的日期,不知道如何實現替換+%date:~0,10%
--//linux下可以使用
$ date --date='1 days ago' "+%Y/%m/%d"
2017/04/24
--//linux bash shell可以通過變數寫入,而windows批處理如何把命令的結果傳遞給變數呢?我想到僅僅是先將命令結果儲存到檔案,
--//在通過檔案傳遞給變數。 不熟悉windows放棄!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2137969/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何對U盤檔案資料加密,U盤加密方法教程分享加密
- U盤檔案被隱藏怎麼恢復 U盤檔案恢復隱藏的方法
- u盤裡的檔案無法刪除 如何刪除u盤裡刪不掉的檔案
- u盤的NTFS與exFAT檔案系統-總結向
- 請將磁碟插入u盤是什麼意思 請將磁碟插入u盤怎麼解決
- iso檔案怎麼用u盤安裝系統 u盤pe安裝iso檔案方法教程
- u盤檔案變成快捷方式怎麼恢復,恢復U盤檔案的五種方法
- js實現txt/excel檔案下載JSExcel
- u盤出現大檔案無法複製的解決
- wim檔案製作U盤啟動盤教程【圖文】
- u盤東西誤刪怎麼恢復 恢復u盤檔案的方法
- 企業總部與分支之間如何實現檔案同步?
- 磁碟管理與檔案系統
- 檔案太大不能拷貝到U盤怎麼辦 win10檔案過大無法複製到U盤Win10
- linux 利用rsync實現檔案增量同步Linux
- 增量FTP實現檔案的異地同步FTP
- 企業雲盤如何實現檔案共享?
- 檔案系統操作與磁碟管理
- U盤的東西刪除了怎麼恢復,怎麼恢復U盤刪除的檔案
- C#實現伺服器間檔案同步C#伺服器
- sersync 實時同步檔案
- linux如何系統掛載u盤複製檔案Linux
- u盤檔案損壞怎麼恢復資料 u盤恢復損壞資料的有效方法
- Linux磁碟管理與檔案系統(關於磁碟方面)Linux
- Liunx 磁碟分割槽與檔案掛載
- 【方法】Html5實現檔案非同步上傳HTML非同步
- u盤裝win10出現window無法開啟所需檔案怎麼辦Win10
- u盤安裝win10系統教程圖解 u盤重灌win10系統iso檔案教程Win10圖解
- 使用sersync實現多臺伺服器實時同步檔案伺服器
- 指令碼實現U盤自動掛載(linux)指令碼Linux
- [20170425]變態的windows批處理1.txtWindows
- [20170425]變態的windows批處理2.txtWindows
- udev 自動掛載U盤檔案系統指定目錄dev
- python實現word2vec訓練結果bin檔案轉txt檔案Python
- 固態u盤和普通u盤哪個好 固態u盤和普通u盤的區別
- 車載U盤和普通U盤哪個好 車載U盤和普通U盤的區別
- HP-UX磁碟管理與檔案系統UX
- win10無法複製和刪除U盤檔案怎麼辦_win10 u盤不能複製和刪除檔案的解決方法Win10