我有一个批处理文件,因为我传递了一个命令行参数,并将此参数与一些字符串连接起来。假设我发送1.0作为命令行参数
echo ^<em:version^>%1^</em:version^>
这打印<em:version>1.0</em:version>
并且工作正常。
如果我尝试使用以下方法将此字符串重定向到某个文本文件:
echo ^<em:version^>%1^</em:version^> >> test.txt
它只将<em:version></em:version>
写入文件,留下命令行参数。
我想用命令行写整个字符串。
会出现什么问题?如何解决这个问题?
答案 0 :(得分:5)
对我来说很好。我叫它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>
使用或不使用@echo off
。
它的代码是什么?向我们展示调用它的代码。你确定你传递的价值是多少?
无论您传递的是什么变量,都要回显该变量,然后在调用它之前暂停它:
echo %var%
pause
call 1.bat %var%
如果得到的是:
ECHO is off.
Press any key to continue . . .
然后变量为空。