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

标签 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%

也许通话中有些问题??

最佳答案

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

关于java - 如何从 java 项目获取 .bat 文件中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3820639/

相关文章:

java - 使用 S3 Java SDK 与 S3 兼容存储(minio)对话

Java Class.cast() 与强制转换运算符

internet-explorer - 在 IE10 Kiosk 模式下限制快捷键

build-automation - 学习高级批处理文件用法的最佳免费资源?

windows - "%~dp0"和 ".\"之间的区别?

java - jconsole 无法连接 ssl1?

java - 从java客户端发布到Django表单与curl -d

java - java中使用split方法分离不同的输入

execution - 如何在不使用 *.bat 扩展名的情况下运行批处理脚本

windows - 如何回显控制台输出并将其发送到 bat 脚本中的文件?