CMD变量设置异常:手动执行正常,写入脚本运行报错
问题原因与解决方法
你遇到的问题是CMD命令行与脚本文件的for循环变量语法规则不同:
- 直接在CMD窗口执行命令时,for循环的迭代变量用单百分号
%I即可正常识别; - 但在
.bat/.cmd脚本文件中,for循环的迭代变量必须使用双百分号%%I,否则脚本会将单百分号解析为其他语法元素,导致出现//ipecho.net/plain') was unexpected.的语法错误。
修正后的脚本命令
将原命令中的单百分号替换为双百分号:
for /F %%I in ('curl http://ipecho.net/plain') do set ip=%%I
验证方法
把修正后的命令写入脚本文件,运行后执行以下命令即可正常输出IP:
echo %ip%
内容的提问来源于stack exchange,提问作者Thomas Carlton
相关产品推荐
相关产品推荐

