繁体   English   中英

如何将具有多个空格的变量传递给批处理脚本?

[英]How to pass a variable with multiple spaces to a batch script?

我想将具有多个空格的变量传递给批处理脚本,但是它将删除多个空格并将其替换为一个空格。

C:\user\bat\myscript.bat var1 var2 "'var3'" "'some text followed by double blank__some more text'"

__将显示两个空格(“”,空格而不是下划线)

我已经尝试了%~4%4等,但是它总是删除了双空格。

br,曼努埃尔

从Java应用程序调用bat脚本,该Java应用程序从数据库获取整个调用字符串。

脚本调用:

C:\user\bat\eqkvard.bat C:\user\reports\eqkvard.rdf C:\user\output\kontrollvarianten\myoutput.pdf "''" 
"'00.101 D-Bereiche LKZ + OKZ(blank)(blank)L52 Gbd.151 -Mediafill'" 

该站点不会同时显示两个空格。 引号的语法如下:(“)(')text(”)

脚本本身:

START "myprogram" /MIN rwrun report=%1 userid=user/pw@myDB desformat=pdf destype=file desname=%2 p_1=%3 p_2=%4 

该脚本使用参数调用Oracle Reports运行时。 希望这会有所帮助。

谢谢您的回答。 问题出在运行时exec的Java调用中,该调用从String中删除了双空格。 使用String数组可能是可行的,但这不适用于我的情况。

如果您在使用Java exec命令时遇到相同的问题,则以下文章可能会有所帮助。

带有多个空格的Runtime Exec

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM