Re: [請問] 搬移指令MOVE有加強版嗎?

看板EZsoft (小軟體)作者 (陌生)時間17年前 (2009/06/13 02:03), 編輯推噓5(5020)
留言25則, 4人參與, 最新討論串2/4 (看更多)
--------- 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)

06/13 10:43, , 1F
SET Sour's'e but %Sour'c'e%
06/13 10:43, 1F
感謝,已經修正 :p

06/13 19:38, , 2F
謝謝 來試試看 補上短址:http://fon.gs/movefor
06/13 19:38, 2F
※ 編輯: hpo14 來自: 123.204.46.87 (06/13 21:35)

06/13 22:33, , 3F
請教 %1 和 %~1 有什麼差別呢? 謝謝
06/13 22:33, 3F

06/13 22:39, , 4F
我發現for的help的描述變數說明都有加~ 但範例就沒有~
06/13 22:39, 4F

06/13 22:41, , 5F
%~I - 展開 %I 且移除包圍的引號 (") 那%%i又是代表什麼呢?
06/13 22:41, 5F

06/13 22:58, , 6F
剛剛測來測去腦筋都打結了 我發現 單%和雙%在cmd下跑和bat
06/13 22:58, 6F

06/13 23:01, , 7F
上跑 大有不同
06/13 23:01, 7F

06/13 23:01, , 8F
for /R c:\a2 %%a in (.) do echo %%a 在bat正常 透過cmd
06/13 23:01, 8F

06/13 23:03, , 9F
會出現 [這個時候不應有 %%a] 改回%a才會正常
06/13 23:03, 9F

06/13 23:09, , 10F
狀況又來了 假設我是要把a1底下全部(不含a1)搬到a2底下
06/13 23:09, 10F

06/13 23:11, , 11F
但因為用到 . 所以連同a1本身也搬過去 這樣就直接下
06/13 23:11, 11F

06/13 23:11, , 12F
move c:\a1 c:\a2 就好了 還是我哪邊漏掉了?
06/13 23:11, 12F

06/13 23:30, , 13F
move c:\a1 c:\a2 md c:\a1 兩行解決 @@ 但上面的疑問還是
06/13 23:30, 13F

06/13 23:31, , 14F
想了解 謝謝
06/13 23:31, 14F

06/13 23:43, , 15F
又發現兩行解決又碰壁 當第二次要搬移就算強制覆蓋也會出現
06/13 23:43, 15F

06/13 23:43, , 16F
存取被拒 @@
06/13 23:43, 16F

06/14 11:36, , 17F
存取被拒絕我不知道怎麼處理. @"@
06/14 11:36, 17F

06/14 11:37, , 18F
%a 是直接在 cmd 執行的用法, %%a 是寫在批次檔的用法
06/14 11:37, 18F

06/14 11:38, , 19F
批次檔的 %%a 在執行的時候 "%%a" 會變成 "%a"
06/14 11:38, 19F

06/14 12:37, , 20F
原來如此 那不知波浪符號的定義呢? 謝謝
06/14 12:37, 20F

06/14 12:38, , 21F
還有這個批次檔結果跟 move 來源 目標 的結果一樣是我哪邊
06/14 12:38, 21F

06/14 12:40, , 22F
出問題呢? 因為我把move改成echo來抓問題 他第一筆就是
06/14 12:40, 22F

06/14 12:42, , 23F
move c:\a1\. c:\a2 這樣跟move c:\a1 c:\a2 一樣意思
06/14 12:42, 23F

06/14 21:07, , 24F
波浪就是去除引號
06/14 21:07, 24F

06/15 09:01, , 25F
for /? 有資料
06/15 09:01, 25F
文章代碼(AID): #1ACfYBng (EZsoft)
文章代碼(AID): #1ACfYBng (EZsoft)