如何将变量从 java 文件传递到批处理文件?
How to pass a variable from java file to a batch file?
我正在尝试将变量从 java 代码传递到批处理文件。
批处理文件的内容是-
@echo off
set rootFolder=%1
set logFolder_Dir=logs
set outputLogsFolder_LocalDir=%rootFolder%\%logFolder_Dir%
set filename=%2
adb shell setprop persist.log.tag V
adb logcat com.harman.prometheusnav > %filename%.txt
pause
我需要将 rootFolder 的值和文件名从 java 代码传递到批处理文件。
Java 代码到 运行 并关闭批处理文件是 -
public static void main(String[] args) throws InterruptedException, IOException {
ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "logs.bat");
File dir = new File("C:\WORKPLACE\NavSDK\Prometheus\Automation\promta\src\test\resources");
pb.directory(dir);
Process p = pb.start();
Runtime rt = Runtime.getRuntime();
rt.exec("taskkill /F /IM adb.exe /T");
还有更新批处理变量的其他想法吗?
根据 ProcessBuilder 的 documentation,您只需将参数添加到列表末尾即可。
public static void main(String[] args) throws InterruptedException, IOException {
ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "logs.bat", "C:\RootFoolder", "FileName");
File dir = new File("C:\WORKPLACE\NavSDK\Prometheus\Automation\promta\src\test\resources");
pb.directory(dir);
Process p = pb.start();
我正在尝试将变量从 java 代码传递到批处理文件。 批处理文件的内容是-
@echo off
set rootFolder=%1
set logFolder_Dir=logs
set outputLogsFolder_LocalDir=%rootFolder%\%logFolder_Dir%
set filename=%2
adb shell setprop persist.log.tag V
adb logcat com.harman.prometheusnav > %filename%.txt
pause
我需要将 rootFolder 的值和文件名从 java 代码传递到批处理文件。 Java 代码到 运行 并关闭批处理文件是 -
public static void main(String[] args) throws InterruptedException, IOException {
ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "logs.bat");
File dir = new File("C:\WORKPLACE\NavSDK\Prometheus\Automation\promta\src\test\resources");
pb.directory(dir);
Process p = pb.start();
Runtime rt = Runtime.getRuntime();
rt.exec("taskkill /F /IM adb.exe /T");
还有更新批处理变量的其他想法吗?
根据 ProcessBuilder 的 documentation,您只需将参数添加到列表末尾即可。
public static void main(String[] args) throws InterruptedException, IOException {
ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "logs.bat", "C:\RootFoolder", "FileName");
File dir = new File("C:\WORKPLACE\NavSDK\Prometheus\Automation\promta\src\test\resources");
pb.directory(dir);
Process p = pb.start();