以下批处理脚本应给出常量和变量之间没有空格的输出。
set /p _a="Enter :"
echo a %_a% >a.js
当输入为:t
,文件中的输出应为: (和at
之间没有空格)。a
t
有人能建议一种可以实现这一目标的方法吗?
编辑(来自对 OP 答案的评论):
我真正的问题是我需要将变量放在字符 后面!
。当我尝试在中间不留空格的情况下执行此操作时,它不起作用。例如:
echo a!%_a% >a.js
答案1
文件中的输出应为at
。有人能建议一种可以实现此目的的方法吗?
a
删除和之间的空格%_a%
:
@echo off
setlocal
set /p _a="Enter :"
echo a%_a% >a.js
endlocal
示例输出:
F:\test>test
Enter :t
F:\test>type a.js
at
如果你还想删除空格后 at
%_a%
然后删除和之间的空格>
:
@echo off
setlocal
set /p _a="Enter :"
echo a%_a%>a.js
endlocal
我的问题是我需要将变量放在字符后面!
。
您需要转义!
使用,^
因为它是一个对 具有特殊含义的字符cmd
。
@echo off
setlocal
set /p _a="Enter :"
echo a^!%_a% >a.js
endlocal
示例输出:
F:\test>test
Enter :t
F:\test>type a.js
a!t
F:\测试>