[請益] robocopy區網電腦檔案複製問題

看板MIS (IT資訊人員)作者 (又騎又磨姿勢且佳)時間6年前 (2018/01/06 17:14), 6年前編輯推噓11(11024)
留言35則, 8人參與, 6年前最新討論串1/1
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

01/06 17:55, 6年前 , 1F
beyondcimpare
01/06 17:55, 1F

01/06 17:55, 6年前 , 2F
beyondcompare
01/06 17:55, 2F
這軟體好像是檔案比對軟體而已,我需要的是從A電腦產出的檔案 複製到B電腦上面,還是說這有功能可以使用? ※ 編輯: arsehole (124.219.42.230), 01/06/2018 18:17:59

01/06 18:43, 6年前 , 3F
用PowerShell吧
01/06 18:43, 3F

01/06 19:11, 6年前 , 4F
fastcopy設排程.bat 試試?
01/06 19:11, 4F
感謝回答,這功能對於普通固定產出的資料有用,不過每天會固定產出日期資料夾 還需要把日期資料夾裡面的檔案傳輸到B電腦上分出來,這樣子就沒辦法做了 ※ 編輯: arsehole (124.219.42.230), 01/06/2018 19:26:51

01/06 20:19, 6年前 , 5F
掃特定資料夾名稱,ex. 2018*
01/06 20:19, 5F

01/06 21:26, 6年前 , 6F
bat檔一開始判斷今天日期再xcopy檔案過去不能嗎
01/06 21:26, 6F

01/06 21:52, 6年前 , 7F
若不考慮在bat或robocopy下日期參數去判別來源與目的
01/06 21:52, 7F

01/06 21:52, 6年前 , 8F
位置,不如就自己寫程式比較快
01/06 21:52, 8F

01/06 22:02, 6年前 , 9F
beyond compare可以設定各種條件同步檔案,包含NTFS o
01/06 22:02, 9F

01/06 22:02, 6年前 , 10F
wner/permission還有ZIP內比較等等等
01/06 22:02, 10F

01/06 22:02, 6年前 , 11F
直接下載可以試用30天,好用就買一份吧
01/06 22:02, 11F

01/06 23:24, 6年前 , 12F
Alwaysync就可了....google alwaysync
01/06 23:24, 12F

01/08 13:31, 6年前 , 13F
我也是用robocopy搬電子發票,多設幾個排程吧
01/08 13:31, 13F

01/08 13:36, 6年前 , 14F
你的檔名沒有日期嗎?我會用日期判斷進行複製,搬過的就
01/08 13:36, 14F

01/08 13:36, 6年前 , 15F
加封存狀態就不會重複搬移
01/08 13:36, 15F

01/08 13:37, 6年前 , 16F
有時候發票會需要重新轉檔,最好放個區間讓它檢查前後幾
01/08 13:37, 16F

01/08 13:37, 6年前 , 17F
天的檔案是否被更新過
01/08 13:37, 17F

01/08 14:01, 6年前 , 18F
其實看不是很懂,如果直接同步最上層目錄呢?
01/08 14:01, 18F
感謝大家回覆,沒有及時回覆真是抱歉,先回答幾個人的問題 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

01/08 22:54, 6年前 , 19F

01/08 22:55, 6年前 , 20F
自動根據檔名前5碼create對應資料夾放入嗎
01/08 22:55, 20F

01/09 00:06, 6年前 , 21F
試著翻譯:因為原本系統的搬檔程式出問題你想自己刻一
01/09 00:06, 21F

01/09 00:06, 6年前 , 22F
個。
01/09 00:06, 22F
這樣差不多了,大概是這樣的意思,搬檔程式有問題,所以再次確認自行補檔 如果可以做到這樣,後續我就會寫了,就只是卡在跟目錄跟子目錄 十分感謝。 ※ 編輯: arsehole (61.224.77.203), 01/09/2018 00:08:31

01/09 00:08, 6年前 , 23F
目前卡在搬到B之後的目錄不對,因為連子目錄也複製了(T
01/09 00:08, 23F

01/09 00:08, 6年前 , 24F
urnkey不能有子目錄)
01/09 00:08, 24F
沒錯,會依照前五碼排C0401的資料夾去分類。 ※ 編輯: arsehole (61.224.77.203), 01/09/2018 00:09:34

01/09 00:23, 6年前 , 25F

01/09 00:23, 6年前 , 26F
to-single-directory
01/09 00:23, 26F

01/09 00:23, 6年前 , 27F
(抱歉,忘了縮網址)
01/09 00:23, 27F

01/09 00:24, 6年前 , 28F
希望你不會卡在重複檔名覆蓋問題
01/09 00:24, 28F
試了一下用for在cmd底下可以做到,但直接加在.bat裡頭執行 就會失敗,是不會發生重複檔名覆蓋問題,因為檔名是依年月日跟檔案數量下去排 如果用cmd下測試執行,是達到我想要的功能,但把它加入在bat執行就死在for那條指令上 ※ 編輯: arsehole (124.219.42.230), 01/09/2018 14:43:24

01/09 21:45, 6年前 , 29F
用Batch去串robocopy的路徑哩?
01/09 21:45, 29F

01/09 21:47, 6年前 , 30F

01/09 21:47, 6年前 , 31F
取system date 或直接loop 1~30
01/09 21:47, 31F

01/10 11:31, 6年前 , 32F
所以你接觸不到A主機嗎?如果可以 去同步A的c:\2018
01/10 11:31, 32F

01/10 11:31, 6年前 , 33F
這樣不行嗎?
01/10 11:31, 33F

01/10 12:21, 6年前 , 34F
把來源跟目的地結果畫面截個圖出來,確認後,這邊有調
01/10 12:21, 34F

01/10 12:21, 6年前 , 35F
整過的程式直接跑就可以了
01/10 12:21, 35F
已經解決了,所以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
文章代碼(AID): #1QK9DdlF (MIS)
文章代碼(AID): #1QK9DdlF (MIS)