我喜欢确定Java运行时环境可用并检查它们的版本。我的代码将输出正确的jre路径,但无法执行java.exe.
当程序路径是变量时,用批处理脚本中的参数调用程序的正确方法是什么?
我的剧本
@echo off
:findjres
for /d %%i in ("C:\Program Files\Java\jre*") do (
set /a cpath+=1
call :pushpath "%%i"
)
for /d %%i in ("C:\Program Files (x86)\Java\jre*") do (
set /a cpath+=1
call :pushpath "%%i"
)
goto :versjres
:pushpath
set tpath=%1
set xpath!%cpath%=%tpath:~1,-1%
goto :end
:versjres
for /f "usebackq delims==! tokens=1-3" %%i IN (`set xpath`) do (
echo Array field number %%j have value %%k
%%k\bin\java.exe --version
)
pause
:end
错误
Exception in thread "main" java.lang.NoClassDefFoundError: Files
Caused by: java.lang.ClassNotFoundException: Files
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Files. Program will exit.
换线
%%k\bin\java.exe --version
到
"%%k\bin\java.exe" -version
这对我很管用。
主要内容:错误消息,复杂的命令行,子程序,Windows版本通常情况下,运行批处理文件时可能会遇到问题,而且大多数情况下都需要以某种方式调试批处理文件,以确定是批处理文件本身的问题。 以下是一些可以帮助调试批处理脚本文件的技术。 错误消息 要找出消息的来源,请按照下列步骤操作 - 第1步 - 移除,即或。 第2步 - 使用必要的命令行参数运行批处理文件,将所有输出重定向到日志文件以供以后比较。 第3步 - 在文件中搜索错误消息 第4步 - 检查上一行是否有
我有一个func
不幸的是,我在其他线程中找不到适合我的解决方案。 我试图通过批处理文件使用任务调度程序运行vb脚本,当我手动启动vbs和bat文件时,它们都可以正常工作,但在任务调度程序中不能。我尝试了多种组合(我也尝试直接启动vbs),但似乎没有任何效果。.bat和.vbs都直接在C中:\ VBS文件: 批处理文件: 计划的Tesk导出:
问题内容: 我知道我可以使用以下命令从bash脚本运行python脚本: 但是,如果我想将变量/自变量从bash脚本传递到python脚本,该怎么办?我怎样才能做到这一点? 基本上,bash会计算出文件名,然后python将其上传,但是当我调用它时,我需要将文件名从bash发送到python。 问题答案: 要在bash脚本中执行python脚本,您需要调用与终端相同的命令。例如 要在python中
问题内容: 我在Win XP上运行Python 3.2。我通过以下方式通过批处理文件运行python脚本: 是我传递来在python脚本中进行一些处理的参数。 我在批处理文件中有两个变量,我也想将它们作为参数发送到python脚本。 我希望能够做这样的事情: 然后通过和在python脚本中检索这些参数 希望对此有所帮助。谢谢。 问题答案: your_script.bat:
我使用视觉工作室代码是为了调试Python脚本。 按照这个指南,我在< code>launch.json文件中设置了参数: 但当我按下Debug时,它会显示我的论点未被识别,VisualStudio代码会显示: 错误:无法识别的参数 由于Visual Studio Code使用PowerShell,让我们使用相同的参数执行相同的文件: 所以:相同的文件、相同的路径和相同的参数。它在终端中工作,但在