Cod*_*ode 2 windows variables batch-file echo
我试图在批处理中显示变量列表,但是我没有得到变量.我得到了命令,但删除了%和空格.
echo 1 %11A1% %11B1% %11C1% %11D1% %11E1% %11F1% %11G1% %11H1% %11I1% %11J1%
Run Code Online (Sandbox Code Playgroud)
变成
1 1A111B111C111D111E111F111G111H111I111J1
Run Code Online (Sandbox Code Playgroud)
我已经在其他批次中完成了变量并且没有问题地显示它们.任何帮助表示赞赏!
目前的代码在这里:http://hastebin.com/sutasipiju.dos
您的变量命名有问题.当它们以数字开头时,变量名称中带有百分号的fisrt字符被视为参数.因此,%11A1%(以及其他变量)正在被翻译成%1 1A1 ...
从命令行,这没有问题,因为没有参数替换,但在批处理文件中,以数字开头的变量会产生这种问题.
有两种解决方案.
%11A1%为!11A1!第一个选项可能更好,因为更简单,可以产生更少的问题,但两者都可以使它工作
问题在于你的变量名,它不应该以数字开头.
当批次看到 echo %11A1%...
它替换了第一个命令行参数%1,因此,假设您没有提供参数,这将成为
[nothing]1A1...
Run Code Online (Sandbox Code Playgroud)
解决方案:使用其他角色启动变量."A..Z"是传统的.如果你想成为一个有点异国情调,然后$和#似乎是显而易见的选择.
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |