我正在尝试启动一个java进程,使用bat文件向其传递多个参数。但问题是 cmd 在使用时只会跳跃并且不显示任何内容:
start cmd/C
所以让它
start cmd/K
给出一个弹出的CMD,其中显示此错误
"C:\New"不被识别为内部或外部命令、可操作程序或批处理文件。
为了测试重现问题,您可以通过以下示例启动 Java 进程。
我已经搜索了一个解决方案,但唯一与问题相似的是使用 set 然后使用参数。设置"变量=内容">
echo 正确打印包含许多空格的文件夹,例如:"C:\New Folder and Spaces">
代码如下:
SET "currDir=%~dp0"
echo %currDir%
start cmd /K "%currDir%"..jvmjrebinjava.exe -version
如何传递 ~dp0 值,即使它中有空格而不会收到上述错误?如果我应该在启动命令中多次使用它怎么办,例如:
start cmd /K "%currDir%"..jvmjrebinjava.exe -version -Djava.awt.headless=true %JAVA_OPTIONS% -jar "%~dp0MyJar.jar" -home "%~dp0.." %*
短文件和文件夹名称怎么样,因为它们从不包含空格?尝试:
set currDir=%~sdp0
(欲了解更多信息,请访问ss64!
干杯尼古拉