看板 EZsoft 關於我們 聯絡資訊
--------- 8< --------------- rem 如果想從指令列方式設定來源跟存放位置 rem 例如 備份.bat 來源 目的地 rem 那可將Source 與 Target 改寫如下 rem SET Source="%~1" rem SET Target="%~2" SET Source="備份來源位置" SET Target="備份存放位置" rem . 針對資料夾, * 針對所有檔案 FOR /R %Source% %%i in (.,*) DO ( move /y "%%i" %Target% ) --------- 8< --------------- 請將虛線內存成任意.bat,記得自行修改加入資料夾的位置 資料來源:http://www.islamadel.com/index.php/notes/6-computer/10-windows-command-line -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.46.87 ※ 編輯: hpo14 來自: 123.204.46.87 (06/13 03:33)
yinjing:SET Sour's'e but %Sour'c'e% 06/13 10:43
感謝,已經修正 :p
piligo:謝謝 來試試看 補上短址:http://fon.gs/movefor 06/13 19:38
※ 編輯: hpo14 來自: 123.204.46.87 (06/13 21:35)
piligo:請教 %1 和 %~1 有什麼差別呢? 謝謝 06/13 22:33
piligo:我發現for的help的描述變數說明都有加~ 但範例就沒有~ 06/13 22:39
piligo:%~I - 展開 %I 且移除包圍的引號 (") 那%%i又是代表什麼呢? 06/13 22:41
piligo:剛剛測來測去腦筋都打結了 我發現 單%和雙%在cmd下跑和bat 06/13 22:58
piligo:上跑 大有不同 06/13 23:01
piligo:for /R c:\a2 %%a in (.) do echo %%a 在bat正常 透過cmd 06/13 23:01
piligo:會出現 [這個時候不應有 %%a] 改回%a才會正常 06/13 23:03
piligo:狀況又來了 假設我是要把a1底下全部(不含a1)搬到a2底下 06/13 23:09
piligo:但因為用到 . 所以連同a1本身也搬過去 這樣就直接下 06/13 23:11
piligo:move c:\a1 c:\a2 就好了 還是我哪邊漏掉了? 06/13 23:11
piligo:move c:\a1 c:\a2 md c:\a1 兩行解決 @@ 但上面的疑問還是 06/13 23:30
piligo:想了解 謝謝 06/13 23:31
piligo:又發現兩行解決又碰壁 當第二次要搬移就算強制覆蓋也會出現 06/13 23:43
piligo:存取被拒 @@ 06/13 23:43
hpo14:存取被拒絕我不知道怎麼處理. @"@ 06/14 11:36
hpo14:%a 是直接在 cmd 執行的用法, %%a 是寫在批次檔的用法 06/14 11:37
hpo14:批次檔的 %%a 在執行的時候 "%%a" 會變成 "%a" 06/14 11:38
piligo:原來如此 那不知波浪符號的定義呢? 謝謝 06/14 12:37
piligo:還有這個批次檔結果跟 move 來源 目標 的結果一樣是我哪邊 06/14 12:38
piligo:出問題呢? 因為我把move改成echo來抓問題 他第一筆就是 06/14 12:40
piligo:move c:\a1\. c:\a2 這樣跟move c:\a1 c:\a2 一樣意思 06/14 12:42
hpo14:波浪就是去除引號 06/14 21:07
junorn:for /? 有資料 06/15 09:01