如何从java项目中获取.bat文件中的参数

时间:2010-09-29 10:14:03

标签: java batch-file

昨天我问了这个post,但是当我尝试从我的java项目中运行这个.bat文件时,我仍然遇到问题。

@echo off
set filename=%1
echo %filename | sed 's/\([A-Z]\)/ \1/g';

我的电话是:

String param = "myparam";  
ProcessBuilder pb = new ProcessBuilder("myFile.bat", param);

但myFile.bat所做的只是打印%filename,所以它不会取我发送的参数的实际值。
我做错了什么? 提前致谢

我也尝试了

@echo off
set filename=%1
echo %filename% | sed 's/\([A-Z]\)/ \1/g';

结果相同,现在打印%filename%

可能在调用中遇到一些问题??

3 个答案:

答案 0 :(得分:1)

你错过了第二个%。应该是:

echo %filename% | sed 's/\([A-Z]\)/ \1/g';

答案 1 :(得分:1)

%filename最后遗漏了%。它应该是:%filename%

答案 2 :(得分:1)

您可能希望执行cmd.exe /c script.bat,以便cmd.exe(命令shell)将扩展变量。在Windows中,.bat文件不是完整的可执行文件,只是命令处理器的输入文件(cmd.exe)。