我有一个批处理文件,因为我传递了一个命令行参数,并将此参数与一些字符串连接起来.假设我发送1.0作为命令行参数
echo ^<em:version^>%1^</em:version^>
Run Code Online (Sandbox Code Playgroud)
这打印<em:version>1.0</em:version>和工作正常.如果我尝试使用以下方法将此字符串重定向到某个文本文件:
echo ^<em:version^>%1^</em:version^> >> test.txt
Run Code Online (Sandbox Code Playgroud)
它只写入<em:version></em:version>文件,留下命令行参数.我想用命令行写整个字符串.会出现什么问题?怎么解决这个问题?
这对我来说可以.我打电话给它1.bat.我在下面称呼它:
d:\Uploads\fbi>1 1.0
d:\Uploads\fbi>echo <em:version>1.0</em:version> 1>>test.txt
d:\Uploads\fbi>type test.txt
<em:version>1.0</em:version>
Run Code Online (Sandbox Code Playgroud)
可以使用或不使用@echo off顶部.
它的代码是什么?向我们展示调用它的代码.您SURE要传递一个值?
无论您传递的是什么变量,都要回显该变量,然后在调用它之前暂停它,如下所示:
echo %var%
pause
call 1.bat %var%
Run Code Online (Sandbox Code Playgroud)
如果你得到的是:
ECHO is off.
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)
然后变量为空.