我需要一个多命令来将CMD带到它运行的光盘的根目录。
这是USB上结构的外观
<?php $args = array( 'orderby' => 'name', 'parent' => 0 );
$categories = get_categories( $args );
foreach ( $categories as $category ) {
$homePosts = array(
'post_type'=> 'post',
'post_status' => 'publish',
'category' => $category->cat_ID,
'order' => 'DESC',
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'homePost' )
)
)
);
$asides = get_posts( $homePosts );
if ( count($asides) ) {
foreach ( $asides as $homePosts ) {
'<p>' + 'Test' + '</p>' ;
}
}
}
?>
这就是“事件”的样子:
\data
\data\commands
\Java
\Java\bin
App.jar
App.bat
这在运行App.jar文件并“使用”它自己安装在计算机上的java时效果很好。
但是当我尝试使用我在usb上安装的java来运行它时,它将无法工作。 (guide to install java on usb
app.bat文件:
String command = "cmd /c cd\\data\\commands && wscript \"invisible.vbs\" \"Ready2Go.bat\"";
try {
Process p = Runtime.getRuntime().exec(command);
} catch (Exception e) {
e.printStackTrace();
}
所以我需要一个命令来离开\ java \ bin目录。 (因为它来自那里,我认为程序现在正在运行)然后运行我的命令。
我试过了:
set Path=\Java\bin;%%Path%%
java -jar app.jar
但没有太多运气。 我真的希望你明白我的意思
答案 0 :(得分:0)
像这样编写一个启动批处理start.bat
@echo off
rem change to this batch's folder
pushd "%~dp0"
set Path="%~dp0\Java\bin";%%Path%%
set JAVA_HOME=%~dp0\Java
java -jar App.jar
popd
并将其作为\data\commands\start.bat
使用ProcessBuilder
并设置directory
- 属性,从java设置进程的当前路径。查看此处的示例