為什麼這篇批次檔複製檔案鄉民發文收入到精華區:因為在批次檔複製檔案這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者arsehole (又騎又磨姿勢且佳)看板MIS標題[請益] robocopy區網電腦檔案複製問...
批次檔複製檔案 在 咖咖 KaKa Instagram 的精選貼文
2020-04-21 13:39:50
網路上的中譯歌名是,我的中譯是。 愛團Amazarashi的詞曲。中島美嘉和Amazarashi 演繹的版本我都很喜歡,尤其是詞,看著看著眼淚會自己滑下來,喜歡到2017年VH次等秘密專場翻唱了這首歌,背後視訊投放的是我自己翻的中譯詞,謝謝VJ小夏忍受我這麼凌亂的檔案。 演出後觀眾上...
A電腦每天會產出檔案,會依照2018的目錄、子目錄1月、子目錄6號裡頭產出檔案
(2018\01\06)
資料夾裡頭分別有C0401開頭跟C0501開頭檔案,會將檔案傳到B電腦的C0401資料夾跟
(C0401****.xml副檔名都一樣)
C0501資料夾裡面,只是最近都丟不完全,完全都要自己手動確定丟到B電腦
本來想用XCOPY,不過XCOPY好像無法辨識每日產出資料夾裡的檔案
想請問一下robocopy能夠辨識A電腦C0401檔名丟到相對應B電腦裡的C0401資料夾嗎?
另外使用 /MINAGE 這個指令能夠辨識最新資料產出,直接將今日產出的資料夾的檔案
複製到B電腦嗎?
如果都做不到,其他的備份軟體是否可以做到?剛剛裝了幾款備份軟體
幾乎都做不到這種功能,十分感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.219.42.230
※ 文章網址: https://www.ptt.cc/bbs/MIS/M.1515230055.A.BCF.html
複製到B電腦上面,還是說這有功能可以使用?
※ 編輯: arsehole (124.219.42.230), 01/06/2018 18:17:59
還需要把日期資料夾裡面的檔案傳輸到B電腦上分出來,這樣子就沒辦法做了
※ 編輯: arsehole (124.219.42.230), 01/06/2018 19:26:51
感謝大家回覆,沒有及時回覆真是抱歉,先回答幾個人的問題
Alway sync不適合我,因為同步的檔案數太多,一天應該就滿了,所以還是比較偏向用
robocopy下去做。
jscorpio兄說得沒錯,我是要再次確認電子發票匯入問題,系統程式沒錯
但是在執行排程的時候就是會斷,之前都沒有斷過,上個月就開始發生這個問題
到後面只能人工傳檔。
回chang0206兄,同步最上層目錄並不是我能做的,簡單講
A主機每天會產出一個資料夾C:\2018\01\08\(電子發票檔)
產生完之後會拋轉到B主機上,就是專門上傳發票的,會依Turnkey內部資料庫去排發票格式
會以C0401、C0501下去排,這個如果有接觸到電子發票的人應該會知道
今天試了一下用ROBOCOPY下去做可以,但是做到一半而已
就是先掛載A主機資料夾為Z:\
robocopy Z:\2018\ C:\BackUp\ *.XML /S /MINAGE:1
然後加上/MINAGE:n→複製一天內產生出來的資料檔
複製到B主機的資料夾就會變成C:\BackUP\01\08\(發票檔)
本來有做出來複製(全部發票檔)到C:\Turnkey\底下C0401、C0501.XML檔
但每次做出來都是C:\Turnkey\01\08\(發票檔)
我下一步篩選就沒辦法做了,因為都是在子目錄底下,請問還有什麼方法可以做?
我現在想做的就是將C:\BackUP\01\08\裡頭的C0401、C0501.XML檔
傳出來到C:\Turnkey\目錄底下
本來下午有試出來,不過忙碌一下不小心把測試視窗關掉,就整個忘了
※ 編輯: arsehole (61.224.77.203), 01/08/2018 22:23:16
如果可以做到這樣,後續我就會寫了,就只是卡在跟目錄跟子目錄
十分感謝。
※ 編輯: arsehole (61.224.77.203), 01/09/2018 00:08:31
※ 編輯: arsehole (61.224.77.203), 01/09/2018 00:09:34
試了一下用for在cmd底下可以做到,但直接加在.bat裡頭執行
就會失敗,是不會發生重複檔名覆蓋問題,因為檔名是依年月日跟檔案數量下去排
如果用cmd下測試執行,是達到我想要的功能,但把它加入在bat執行就死在for那條指令上
※ 編輯: arsehole (124.219.42.230), 01/09/2018 14:43:24
已經解決了,所以nfsong兄的方法我就不試了,有需求的人去試試看
我先把我的解決方法公布一下
感謝jscorpio兄的方法,另外還有來信的allen65535兄幫了大忙
問題大概簡單講一下
A主機跟B主機
A每天會產出年月日數字的資料夾,如(C:\2018\01\11)
裡頭會放五到八千個資料檔(C0401*.XML、C0501*.XML........)
在A主機就會先做分類的動作,C0401*.XML會拋到B主機的C0401的資料夾裡面
C0501*.XML會丟到C0501的資料
每日凌晨會轉拋到B主機上,因為近期轉拋不順利,只拋八千個檔案的一半而已
而且每天拋都拋不完全,故才想說在B主機上頭寫個robocopy再確認一次
我寫的批次檔如下
先在B主機掛載A主機的資料夾為Z:\
====================================================================
robocopy Z:\EINVOICE_XML\2018\ C:\einvt_xml *.xml /xo /s /lev:3 /maxage:1
這行指令會把A主機的最新產出的資料夾複製到B主機上
(C:\einvt_xml\01\11\*.xml....)
=================================
由jscorpio兄提供的方法
for /r C:\einvt_xml\ %%f in (*.xml) do move "%%f" C:\test
接下來把C:\Einvt_xml子目錄底下的.xml複製出來到test目錄下
感謝allen65535兄提醒批次檔%f要多加%%f才能運作成功
=================================
robocopy C:\test\ C:\EINVTurnkey\DATA\UpCast\B2CSTORAGE\C0401\SRC C0401*.XML
/xo /maxage:1 /LOG+:C:\test\backup.txt
robocopy C:\test\ C:\EINVTurnkey\DATA\UpCast\B2CSTORAGE\C0501\SRC C0501*.XML
/xo /maxage:1 /LOG+:C:\test\backup.txt
開始將C:\test\目錄底下的*.XML依檔名傳到各資料夾中
並將檔案傳輸結果輸出成log
===================================================================
del /S C:\test\*.xml
最後把C:\test裡頭的.xml全部刪除。
目前試跑兩天都OK了
另外allen65535兄的方法如下,是直接在A電腦做分類直接轉拋到B電腦各個資料夾
批次檔如下
====================================
set Type1=C0401
set Type2=C0501
copy \\A電腦名稱\%DATE:~0,4%\%DATE:~5,2%\%DATE:~8,2%\%Type1%????.xml \\B電腦名
稱\%Type1%
copy \\A電腦名稱\%DATE:~0,4%\%DATE:~5,2%\%DATE:~8,2%\%Type2%????.xml \\B電腦名
稱\%Type2%
======================================
最後發現robocopy指令有一個bug
明明下C0701*.XML,它會把C0401*.XML的某個檔複製一份到C0701的資料夾裡頭
也因為這C0701比較少見,故直接用COPY指令來做
LOG檔如下
=====================================
已啟動 : Tue Jan 09 16:27:46 2018
來源 : C:\test\
目的地 : C:\EINVTurnkey\DATA\UpCast\B2CSTORAGE\C0701\SRC\
檔案 : C0701*.XML
選項 : /COPY:DAT /XO /MAXAGE:1 /R:1000000 /W:30
-------------------------------------------------------------------------------
1 C:\test\
新檔案 1331 C0401-20180109023313-00003462.xml
0%
100%
-------------------------------------------------------------------------------
總計 已複製 略過 不符 失
敗 額外
目錄 : 1 0 1 0 0 0
檔案 : 1 1 0 0 0 0
位元組 : 1.2 k 1.2 k 0 0 0 0
時間 : 0:00:00 0:00:00 0:00:00 0:00:00
已結束 : Tue Jan 09 16:27:46 2018
=======================================
※ 編輯: arsehole (124.219.42.230), 01/11/2018 17:11:02