2012-12-01 86 views
1

呃..我用交換機BAT文件,它是這樣的解析工作:.BAT交換機解析

<commands> -a -b -x -y -z -u abc ...... 

用戶可輸入大量的開關,或根本沒有。所以我用環形SHIFT鍵,使解析無限開關可能:

:loop 
IF "%1"=="-a" 
... 
SHIFT 
GOTO loop 

但腳本結束時,我總是CMD執行開關和顯示出來錯誤,如

'-n' is not recognized as an internal... 

所以,有人有任何想法?非常感謝...... P/S:如果可能使用其它語言可能會導致依賴性問題,因爲這個劇本是爲了與Windows的任何計算機上生成溶液用棍棒BAT腳本。

最後,再次感謝=)

編輯:嘗試shf301建議,我發現我以前DEL %0刪除自身,但它似乎%0移入因爲SHIFT命令的參數。

+0

嘗試增加'回聲on'到腳本的開頭,看看你的前腳本輸出得到這個錯誤消息。 – shf301

+0

可以顯示你的代碼中更大的一部分? – npocmaka

+0

嗯,其實我只是解決了它一會兒前, 無論如何,感謝=) P/S:仍在等待發布的解決方案==」要等6個小時,哈哈。 – giiYanJ

回答

0

噢......終於解決了這個問題嘍〜 我scirpt的FULLPATH而不是%0取代DEL %0,那麼一切都回來工作。