2015-05-08 56 views
0

我有一個腳本,它使用'set/p'獲取用戶輸入詳細信息,然後運行一系列命令。批處理文件 - Abc123不被識別爲內部或外部命令

從快捷方式運行腳本時,它可以正常工作,但是直接從命令提示符運行時,我會將'Abc123不識別爲內部或外部命令',其中'abc123'是每個用戶的輸入'set/p'命令。

如果此時再次按下enter鍵,它將移動到下一個「set/p」上,但從不存儲該值。

我無法弄清楚這裏有什麼問題!

+0

解決它我們也不能因爲你還沒有表現出任何代碼... – TripeHound

+0

當運行命令行是否在包含腳本的目錄中?如果沒有嘗試從那裏。 – OTTA

+0

對不起,這是一個相當保密的環境,所以我不能發佈任何代碼。我可以張貼片段,但我不確定這會有多大幫助。是的,我當時在目錄中。奇怪的是,它從一個捷徑運行得很好! – StrattonL

回答

1

這裏的情景可能再現足夠您的問題,並給予提示,或者通過「引用」,或通過EnableDelayedExpansion

==>30122435.bat 

==>set "passw=xyz|abc123" 

==>echo quoted percent "xyz|abc123" 
quoted percent "xyz|abc123" 

==>setlocal enabledelayedexpansion 

==>echo unquoted exclam. !passw! 
unquoted exclam. xyz|abc123 

==>echo unquoted percent xyz | abc123 
'abc123' is not recognized as an internal or external command, 
operable program or batch file. 

==>type 30122435.bat 
@ECHO ON 
set "passw=xyz|abc123" 
echo quoted percent "%passw%" 
setlocal enabledelayedexpansion 
echo unquoted exclam. !passw! 
echo unquoted percent %passw% 

==> 
相關問題