您好,我正在尝试编写一个文件,该文件将包含 exec (putty) 的参数问题是换行技巧不起作用,我如何在每行后面放一个回车符来避免批处理来解释它作为输入。
set LF=^
set previousver=36
SET base=%fullver:1.2.0
set out=features:uninstall NOCFileLookup !LF
removeurl:mvn:org.NOC/NOCFileLookup-feature/%base%.%previousver%-SNAPSHOT/xml !LF
addurl mvn:org.NOC/NOCFileLookup-feature/1.2.0.37-SNAPSHOT/xml !LF
features:install NOCFileLookup!LF
config:edit NOCFileLookup !LF
config:propset context Testing !LF
config:update
@echo %out% > deployALL
start C:\"Program Files (x86)"\PuTTY\putty.exe -ssh localhost -l karaf -pw karaf -P 8101 -m deployAll
最佳答案
set LF=^
技巧需要后面有两个空行才能起作用。此外,在延迟扩展样式中检索批处理变量的语法是在变量名的两侧 使用感叹号。参见 https://stackoverflow.com/a/28992360/1683264有关正确实现您正在尝试做的事情的示例。
但实际上,您正在为自己做更多的工作。为什么必须将所有行组合成包含换行符的单个变量?批处理语言不像 JavaScript 和其他语言那样非常欢迎多行变量值。如果您所做的只是将几行回显到一个文本文件,那么请使用多个 echo
语句。
>deployAll (
echo features:uninstall NOCFileLookup
echo removeurl:mvn:org..NOC/NOCFileLookup-feature/%base%.%previousver%-SNAPSHOT/xml
echo addurl mvn:org.NOC/NOCFileLookup-feature/1.2.0.37-SNAPSHOT/xml
echo features:install NOCFileLookup
echo config:edit NOCFileLookup
echo config:propset context Testing
echo config:update
)
现在不是更具可读性吗?
关于windows - 如何在 Windows 批处理文件中包含带有多行 var 的回车符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30643300/