作者 主題: 如何把寫Bat檔把資料夾檔案移動到另一台電腦資料夾  (閱讀 35762 次)

0 會員 與 1 訪客 正在閱讀本文。

仙水忍

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
請各位大大幫幫忙~~小弟對批次檔不是很懂請各位大大幫幫嗎
假設 我現在有兩台電腦分為A和B
A電腦 D槽有個backup資料夾裡面有一堆DB資料
B電腦 D槽也是有個backup資料夾
請問我要怎麼寫批次檔把A電腦backup資料夾裡面DB資料傳到B電腦backup資料夾
麻煩各位大大幫幫忙~~謝謝

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
1.
在 B 電腦的 D:\backup 開分享
在 A 電腦執行 xcopy D:\backup \\B\backup
在 A 電腦執行 deltree D:\backup 或 rd D:\backup

2.
在 A 電腦的 D:\backup 開分享
在 B 電腦執行 xcopy \\A\backup D:\backup
在 A 電腦執行 deltree D:\backup 或 rd D:\backup

(請先測試過再到實機使用)
冷笑話: 我的 IP 是 127.0.0.1

仙水忍

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
大大你說的意思是說在txt檔寫成
xcopy \\A電腦IP\ D:\backup rd \B電腦IP\ D:\backup
副檔再修改bat檔是這樣嗎,因為小弟不是很懂
其實小弟知道\\IP\D$可以copy過去不過因為需要每天執行備份到另一台server
所以想寫好批次檔再用工作排成這樣而已,所以想確認一下,謝謝

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
大大你說的意思是說在txt檔寫成
xcopy \\A電腦IP\ D:\backup rd \B電腦IP\ D:\backup
副檔再修改bat檔是這樣嗎,因為小弟不是很懂
其實小弟知道\\IP\D$可以copy過去不過因為需要每天執行備份到另一台server
所以想寫好批次檔再用工作排成這樣而已,所以想確認一下,謝謝
1. 用任何習慣的軟體編寫出格式正確的 .bat 即可, 跟 txt 檔改副檔名無直接相關.
2. xcopy 跟 rd 的用法請自行練習, 上面這樣的寫法是有問題的.
3. 我沒有接觸過你的環境, 無法幫你確認.
4. 如果只要備份, 搜尋一下有許多軟體可以更方便.
冷笑話: 我的 IP 是 127.0.0.1

仙水忍

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
恩~~~謝謝 
那我再找看看有沒有其他軟體
感恩

仙水忍

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
bat檔問題該如何寫
« 回覆 #5 於: 2008-03-05 11:21 »
想問各位大大一個問題,因為對bat檔不是很懂所以想問一下該怎麼寫
我想問一下假如我有兩台電腦,A電腦資料夾名稱是123那我該如何寫一個bat檔,執行後會把123資料夾可以傳送到B電腦,麻煩有大大可以幫忙一下,因為小弟不是很懂Bat檔該如何寫

slime

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
slime合併文章, 原因: 同樣的問題請不要重覆開新的討論.

(我上面的回答您試過了嗎? 結果如何?)
冷笑話: 我的 IP 是 127.0.0.1

竹本立里

  • SA 苦力組
  • 鑽研的研究生
  • *****
  • 文章數: 543
    • 檢視個人資料
真的看不懂 其他學長的話

那參考我的吧

先把對方的磁碟設成自己的網路硬碟

XCOPY n:\*.* d:\n槽燒錄用\ /S /D:02-22-2008 /Y >>D:\log\n-20080222-20080301.LOG
XCOPY m:\*.* d:\m槽燒錄用\ /S /D:02-22-2008 /Y >>D:\log\m-20080222-20080301.LOG
pause


順便問一下有哪位學長 知道怎麼把日期 改成自動抓系統時間
« 上次編輯: 2008-03-05 13:53 由 竹本立里 »

Hei

  • 憂鬱的高中生
  • ***
  • 文章數: 123
    • 檢視個人資料
一般在COMMAND下捉系統日期不是都用%DATE%嗎?

不過我想這變數你應該是知道的,因此能否再清楚敘述例如你想要的是?
« 上次編輯: 2008-03-05 14:56 由 Hei »

Hei

  • 憂鬱的高中生
  • ***
  • 文章數: 123
    • 檢視個人資料
真的看不懂 其他學長的話

那參考我的吧

先把對方的磁碟設成自己的網路硬碟

XCOPY n:\*.* d:\n槽燒錄用\ /S /D:02-22-2008 /Y >>D:\log\n-20080222-20080301.LOG
XCOPY m:\*.* d:\m槽燒錄用\ /S /D:02-22-2008 /Y >>D:\log\m-20080222-20080301.LOG
pause


順便問一下有哪位學長 知道怎麼把日期 改成自動抓系統時間

在此先舉例一下好了
不曉得是不是你要的...
以你上面兩行的話  代表你要捉某天以前的
而你要代入的是該天數以前的  所以程式改成如下
XCOPY n:\*.* d:\n槽燒錄用\ /S /D:%date:~5,2%-%DATE:~8,2%-%DATE:~0,4% /y >>D:\log\n-20080222-20080301.LOG
XCOPY m:\*.* d:\m槽燒錄用\ /S /D:%date:~5,2%-%DATE:~8,2%-%DATE:~0,4% /y >>D:\log\m-20080222-20080301.LOG


至於後面的LOG  如果要寫某一天到某一天的範圍  這就得另外寫了...
通常我是都導到當天的LOG就好了...如果真的要一個LOG放當週資料,我或許會另外寫個判斷當捉出來的日期為禮拜X時(反正%DATE%裡面也有日期),就把LOG重新產生的方式等等..
不曉得這是不是你要的?
« 上次編輯: 2008-03-05 16:04 由 Hei »

threeseconds

  • 俺是博士!
  • *****
  • 文章數: 1368
    • 檢視個人資料
    • http://www.3sec.tw
引用
順便問一下有哪位學長 知道怎麼把日期 改成自動抓系統時間

%DATE% 抓到的日期不能直接拿來當作檔案路徑,還要再處理過才行,
你參考一下我的例子:
代碼: [選擇]
CLS
@ECHO Off
COLOR 70
MODE CON COLS=65 LINES=20
ECHO ----------------------------------------------------------------
ECHO     正在自動備份總公司 MySQL 資料庫....%dumpdate%
ECHO ----------------------------------------------------------------
for /f "tokens=1,2,3 delims=/ " %%i in ('date /t') do @set dumpdate=%%i%%j%%k
D:\Server\MySQL\bin\mysqldump.exe -C -h192.168.0.102 -uintramgr -pmismgr acctom > acctom-%dumpdate%.sql
start /wait F:\MySQL_Backup\rar.exe a acctom-%dumpdate%.rar acctom-%dumpdate%.sql
DEL /Q /F acctom-%dumpdate%.sql
exit
簡單說就是把 date /t 抓到的「2008/03/05 星期三」這種格式轉換成「20080305」這樣才能用。
其實是不用 %DATE% 變數的。
« 上次編輯: 2008-03-05 16:08 由 threeseconds »
本文作者為天線寶寶,長期關注兒童智力發展狀態。

Hei

  • 憂鬱的高中生
  • ***
  • 文章數: 123
    • 檢視個人資料
引用
順便問一下有哪位學長 知道怎麼把日期 改成自動抓系統時間

%DATE% 抓到的日期不能直接拿來當作檔案路徑,還要再處理過才行,
你參考一下我的例子:
代碼: [選擇]
CLS
@ECHO Off
COLOR 70
MODE CON COLS=65 LINES=20
ECHO ----------------------------------------------------------------
ECHO     正在自動備份總公司 MySQL 資料庫....%dumpdate%
ECHO ----------------------------------------------------------------
for /f "tokens=1,2,3 delims=/ " %%i in ('date /t') do @set dumpdate=%%i%%j%%k
D:\Server\MySQL\bin\mysqldump.exe -C -h192.168.0.102 -uintramgr -pmismgr acctom > acctom-%dumpdate%.sql
start /wait F:\MySQL_Backup\rar.exe a acctom-%dumpdate%.rar acctom-%dumpdate%.sql
DEL /Q /F acctom-%dumpdate%.sql
exit
簡單說就是把 %DATE% 抓到的「2008/03/05 星期三」這樣的格式轉換成「20080305」這樣才能用。

你指的無法當檔案路徑問題,上面那方法解決囉  我只捉裡面的數字出來 ,你可以嘗試看看
echo %DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

話說三秒兄下次何時台南要再開課,上次有緣聽過一次課,不曉得你下次有沒有要再開進階的課程^^

« 上次編輯: 2008-03-05 16:12 由 Hei »

hoyo

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 4045
  • 性別: 男
  • 有需要的時候,學習就不會分階段。
    • 檢視個人資料
    • 樂咖黑電腦學習網
話說,此人乃為『三秒』,不是『三子』...
受人與魚,不如授人與漁
上海自來水來自海上;倫敦好奇人奇好敦倫

Hei

  • 憂鬱的高中生
  • ***
  • 文章數: 123
    • 檢視個人資料
話說,此人乃為『三秒』,不是『三子』...
打錯了= =||  抱歉
頭昏了頭昏了..(汗)

threeseconds

  • 俺是博士!
  • *****
  • 文章數: 1368
    • 檢視個人資料
    • http://www.3sec.tw
延伸閱讀:
http://www.threesecond.info/v2/modules/xhnewbb/viewtopic.php?topic_id=1357
感謝 Hei 提供的資訊。
(我沒想過變數可以這樣玩)
本文作者為天線寶寶,長期關注兒童智力發展狀態。

仙水忍

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
slime 大大,你的方法我已經用過但是測試方法失敗,我測試先copy到本機另一資料夾是OK的後來在測試要copy到另一台電腦是不OK的

仙水忍

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
各位大大可能我發問的問題說明的不夠詳細被大家誤解,我發問的問題其實很單純,就是假如我有兩台電腦:
A電腦IP:192.168.1.1的D:\backup裡有一堆檔案
B電腦IP:192.168.1.2的D:\backup沒檔案
我要如何寫一個bat檔把A點腦D:\backup copy到B電腦入徑的D:\backup
我只是要這樣,不知道有沒有哪位大大可以告訴我該怎麼寫,謝謝

Hei

  • 憂鬱的高中生
  • ***
  • 文章數: 123
    • 檢視個人資料
各位大大可能我發問的問題說明的不夠詳細被大家誤解,我發問的問題其實很單純,就是假如我有兩台電腦:
A電腦IP:192.168.1.1的D:\backup裡有一堆檔案
B電腦IP:192.168.1.2的D:\backup沒檔案
我要如何寫一個bat檔把A點腦D:\backup copy到B電腦入徑的D:\backup
我只是要這樣,不知道有沒有哪位大大可以告訴我該怎麼寫,謝謝
首先前提是a電腦的backup資料夾開分享(讀取權限)
b電腦的backup資料夾有開分享(寫入權限)
xcopy \\192.168.1.1\backup\*.*  \\192.168.1.2\backup /e

因為你沒講在那一台上執行,我就只寫這樣子你參考一下,不過ntfs的權限啊,帳號有沒有二邊都有建都會影響能不能寫入啦
前提就假設你是ad環境或者你已經了解權限關係了

Hei

  • 憂鬱的高中生
  • ***
  • 文章數: 123
    • 檢視個人資料
slime 大大,你的方法我已經用過但是測試方法失敗,我測試先copy到本機另一資料夾是OK的後來在測試要copy到另一台電腦是不OK的
我猜是NTFS權限及SHARE FOLDER權限問題,再不就是你帳號二邊不同
最快的方法是  為何發生不ok? 把錯誤訊息提供來看看
不然只講一句不ok,誰能猜的到你是什麼問題,搞不好另一台根本網路不通勒,天曉得?

--
問問題是有技巧的,能提供越多資訊,相對的解答時間也越快
« 上次編輯: 2008-03-06 13:03 由 Hei »

仙水忍

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
我大約說明一下,因為我一開始是先測試ping會通,然後在用D$也過得去,我沒有做資料夾分享
大致上給你看看我寫xcopy D:\backup\xxx_backup_%date:~0,4%%date:~5,2%%date:~8,2%*.bak \\192.168.1.2\d$\backup /s/y 錯誤訊訊息回我:找不到xxx_backup_20080306*_bak,我192.168.1.1 backup裡的檔案是xxx_backup_200803060200 我不知道是不是時間問題,如果是的話可以和我說一下怎麼改要改哪裡??謝謝

Hei

  • 憂鬱的高中生
  • ***
  • 文章數: 123
    • 檢視個人資料
我大約說明一下,因為我一開始是先測試ping會通,然後在用D$也過得去,我沒有做資料夾分享
大致上給你看看我寫xcopy D:\backup\xxx_backup_%date:~0,4%%date:~5,2%%date:~8,2%*.bak \\192.168.1.2\d$\backup /s/y 錯誤訊訊息回我:找不到xxx_backup_20080306*_bak,我192.168.1.1 backup裡的檔案是xxx_backup_200803060200 我不知道是不是時間問題,如果是的話可以和我說一下怎麼改要改哪裡??謝謝

檔名打錯?
上面紅字是你貼上來時打錯還是?
而藍字部份,檔案名稱沒有副檔名?是你忘了打還是檔案真的沒有副檔名?
因為從你的錯誤訊息來看..就單純的沒有找到檔案..而且  我想請問一下  這個批次檔你是在那一台電腦上執行?

仙水忍

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
1.我是在192.168.1.1這台電腦執行
2.檔名應該沒錯才對因為我是複製上去的
3.sorry忘了加上bak副檔名xxx_backup_200803060200 忘了加上bak檔

仙水忍

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
OK~~各位大大我搞定了~~檔案名稱我複製錯誤~~sorry各位大大勞煩大家了,謝謝各位大大

Hei

  • 憂鬱的高中生
  • ***
  • 文章數: 123
    • 檢視個人資料

我想也是..所以已經不曉得怎麼回文了...

jonhan

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
我大約說明一下,因為我一開始是先測試ping會通,然後在用D$也過得去,我沒有做資料夾分享
大致上給你看看我寫xcopy D:\backup\xxx_backup_%date:~0,4%%date:~5,2%%date:~8,2%*.bak \\192.168.1.2\d$\backup /s/y 錯誤訊訊息回我:找不到xxx_backup_20080306*_bak,我192.168.1.1 backup裡的檔案是xxx_backup_200803060200 我不知道是不是時間問題,如果是的話可以和我說一下怎麼改要改哪裡??謝謝

碰巧小弟在最近也在研究,如何把寫Bat檔把遠端檔案下載到另一台電腦資料夾...

小弟嘗試用
copy \\114.**.***.**\D\backup d:\backup 
找不到網路路徑?!!  網路下載的語法好像不能用COPY?

請問正確的程式碼是??
« 上次編輯: 2011-06-30 19:47 由 jonhan »