昨天我问了这个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%
。
也许通话中有些问题??
最佳答案
您可能想改为执行 cmd.exe/c script.bat
,这样 cmd.exe(命令 shell)将扩展变量。在 Windows 中,.bat 文件不是完整的可执行文件,只是命令处理器 (cmd.exe
) 的输入文件。
关于java - 如何从 java 项目获取 .bat 文件中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3820639/