我使用VB运行.bat文件并将参数传递给它。 现在我设法运行它并将参数发送给它,但遇到了问题。我的参数可能包含空格。我试图使用引号,但它似乎没有像我预期的那样工作。所以我在做什么:
System.Diagnostics.Process.Start("C:\Users\XXXXXXX\Desktop\New.bat", """"+data+"""")
在哪里'数据'是我发送的论据。对于测试,它包含值:Hel loo
在.bat文件中我有一个代码,打开记事本并在其中写入参数。使用这段代码,我设法将参数传递为带空格的参数,但结果是:
" Hel loo"
任何想法如何摆脱每一方的引号,同时仍然将参数作为一个空格传递? 我无法摆脱它们或用另一个符号代替。此解决方案需要将参数作为一个包含空格的参数传递。这可能吗?我正在合作的计划并不重要。
修改
这是.bat文件的内容:
set directory_Rexe="C:\Users\XXXXXXX\Desktop\testBat.txt"
set var=%1
echo %var%>%directory_Rexe%
%directory_Rexe%
答案 0 :(得分:1)
这里有三个选项:
%~1
,这将删除引号。%*
。你提到不想那样做。但是,所有选项都要求您更改批处理文件。
当你拥有一个功能完备的编程语言时,我还会质疑是否需要批处理文件。将文本写入文件实际上应该更容易从VB。