2015-05-08 40 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% 

==> 
相关问题