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

时间:2017-01-31 10:53:07

标签: windows oracle batch-file cmd

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

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

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

我已尝试使用%~4%4等,但它总是删除双重空格。

BR, 曼努埃尔

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

脚本调用:

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'" 

该网站不显示两个空白。 引号的语法如下:(")(')文本(")

脚本本身:

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

该脚本使用参数调用Oracle报告运行时。 希望这可以提供帮助。

1 个答案:

答案 0 :(得分:0)

感谢您的回答。 问题出在Runtime exec的Java调用中,它从String中删除了双重空格。可能有一个String数组,但这不适合我的情况。

如果您遇到与Java exec命令相同的问题,以下帖子可能有所帮助。

Runtime Exec with multiple spaces