[問題] Commands 無法持續執行

看板Windows作者 (我不是壞虫虫QQ)時間12年前 (2013/09/17 13:44), 編輯推噓6(6015)
留言21則, 6人參與, 最新討論串1/1
因為之前要寫批次檔來執行迴圈 但是每次執行到一個階段就會失敗 所以我使用手動輸入程式碼一步一步執行 發現執行到第四步時會出現以下錯誤訊息 輸入資料太長。 命令語法不正確。 http://i.imgur.com/QDaDnnf.jpg
然後我重開 Commands 繼續執行第四步時是可以執行的 而在執行第八步時又出現了同樣的錯誤訊息 請問這個錯誤訊息的原因為何呢? 因為總共會執行100步的迴圈 如果這樣手動慢慢的執行 是非常耗時間而且沒有效率的 所以才想要寫成批次檔啊QQ 請各位高手解答!! 多謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.61.213

09/17 19:12, , 1F
我猜是你的指令會加東西進PATH 加幾次之後長度爆了
09/17 19:12, 1F

09/17 19:13, , 2F
所以才會重開cmd後跑相同次數後又不行
09/17 19:13, 2F

09/17 20:17, , 3F
把call拿掉看看
09/17 20:17, 3F

09/17 22:26, , 4F
如果把call拿掉的話,他只會執行迴圈裡的第一個指令
09/17 22:26, 4F

09/17 22:27, , 5F
而且cmd也會直接關掉@@
09/17 22:27, 5F

09/17 22:28, , 6F
改用 start ?
09/17 22:28, 6F

09/17 23:20, , 7F
改成start之後,中斷的問題解決了
09/17 23:20, 7F

09/17 23:21, , 8F
但是每步start job的時候竟然都會新開一個沒在執行
09/17 23:21, 8F

09/17 23:21, , 9F
的cmd @@
09/17 23:21, 9F

09/18 10:23, , 10F
call是批次程式用來呼叫其他批次檔避免父程式中斷
09/18 10:23, 10F

09/18 10:24, , 11F
start會再開第二個cmd來執行,所以你會多cmd是正常的
09/18 10:24, 11F

09/18 10:43, , 12F
哈哈,這樣我做完100個迴圈會多出200個沒用cmd視窗XD
09/18 10:43, 12F

09/18 10:44, , 13F
如果在PATH裡慢慢找看看是哪個路徑造成問題然後刪掉
09/18 10:44, 13F

09/18 10:44, , 14F
這樣可以嗎?
09/18 10:44, 14F

09/18 11:36, , 15F
會出現未消失的cmd,是因為你start的程式或批次問題
09/18 11:36, 15F

09/18 11:38, , 16F
start 批次的話,批次結尾可以下exit結束它
09/18 11:38, 16F

09/18 13:10, , 17F
你可以先在每次指令前後都印一下PATH看看有沒有變長
09/18 13:10, 17F

09/18 13:11, , 18F
如果確實有變長 那可以試看看每次都還原回上次的PATH
09/18 13:11, 18F

09/18 20:36, , 19F
不需要先開 cmd 再打 start ,而是直接跑那個批次
09/18 20:36, 19F

09/24 13:43, , 20F
我在第四部停頓之後去看PATH,並沒有變長的情形@@
09/24 13:43, 20F

10/31 22:36, , 21F
換用powershell做吧....
10/31 22:36, 21F
文章代碼(AID): #1ID-mdNF (Windows)