我正在尝试从下面给出的Java版本输出中获取‘6’
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)
同样,我写了这个批处理脚本
set VERSION6="1.6.0_21"
java -version 2>&1 | findstr "version" >ab.txt
for /f "tokens=3" %%g in (ab.txt) do (
if not %%g == %VERSION6% echo %%g
echo %%g
)
%%g
显示“ 1.6.0_21”
有人可以指导我正确的方向吗?我不太熟悉for /f
。
@echo off
setlocal
set VERSION6="1.6.0_21"
for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do (
@echo Output: %%g
set JAVAVER=%%g
)
set JAVAVER=%JAVAVER:"=%
@echo Output: %JAVAVER%
for /f "delims=. tokens=1-3" %%v in ("%JAVAVER%") do (
@echo Major: %%v
@echo Minor: %%w
@echo Build: %%x
)
endlocal
在第一个for
循环中,"tokens=3"
说我们将仅使用命令输出中的第三个标记。无需将java -version
命令的输出重定向到文件,我们可以在for
循环本身中运行此命令。插入记号(^
)是转义字符,并且需要,所以我们可以嵌入>
,&
并|
在命令字符串符号。
在for
循环体内,我们设置了一个新的var JAVAVER
,以便稍后可以对版本字符串进行一些操作。
该set JAVAVER=%JAVAVER:"=%
命令从版本字符串中删除双引号。
最后一个for
循环解析Java版本字符串。delims=.
说我们将使用句点来分隔令牌。tokens=1-3
说我们将把字符串的前三个标记传递给循环的主体。现在,我们可以使用显式变量,%%v
隐含变量(字母中的下一个字母)%%w
和来获取Java版本字符串的组件%%x
。
当我在系统上运行它时,我得到:
Output: "1.6.0_24"
Output: 1.6.0_24
Major: 1
Minor: 6
Build: 0_24
我希望获取在Jenkins管道Groovy脚本中执行的批处理文件的结果。 我知道我可以做到这一点: 但是,我需要运行一批命令并抓取批处理文件的结果。上面的例子只有一个命令。我需要首先更改目录,然后用一个参数执行“cmd”文件。所以我尝试了以下方法: “result”变量为null,即使日志显示命令确实返回了结果。我知道我可以将批处理文件结果输出到文本文件,并读取文本文件,但我只想看看是否可以像上面
我只需要得到HH:MM来进行代码工作,但如果我这样做,那么变量是HH:MM:SS,我如何打破字符串或使其仅显示小时和分钟?
主要内容:输出通过使用重定向命令可以在批处理脚本中进行登录。 语法 创建一个名为的文件,并在文件中输入以下命令。 上面的命令有一个错误,因为命令的选项是以错误的方式给出的。 输出 如果带有上面的文件的命令运行为 - 而打开文件,会看到下面的错误。 这个命令的语法是 - 通过键入获取更多的帮助内容。 如果打开名为的文件,它会显示一个执行命令的日志。
主要内容:错误消息,复杂的命令行,子程序,Windows版本通常情况下,运行批处理文件时可能会遇到问题,而且大多数情况下都需要以某种方式调试批处理文件,以确定是批处理文件本身的问题。 以下是一些可以帮助调试批处理脚本文件的技术。 错误消息 要找出消息的来源,请按照下列步骤操作 - 第1步 - 移除,即或。 第2步 - 使用必要的命令行参数运行批处理文件,将所有输出重定向到日志文件以供以后比较。 第3步 - 在文件中搜索错误消息 第4步 - 检查上一行是否有
问题内容: 我很确定答案是否定的,但是我想我还是会问。 如果我的站点引用了名为“ whatever.js”的脚本,是否可以从该脚本中获取“ whatever.js”?喜欢: 麻烦多于依赖检查所值得的,但是这真是麻烦。 问题答案: var scripts = document.getElementsByTagName(‘script’); var lastScript = scripts[scrip
问题内容: 我需要从Java执行批处理脚本,该脚本执行以下操作 1)一旦启动,它将执行一个冗长的任务(最多几秒钟)。 2)此后,它显示提示“密码:”。 3)然后,用户输入密码并按Enter键。 4)然后,脚本完成其工作。 我知道如何从Java启动脚本,知道如何在Java中读取批处理脚本的输出,但是我不知道如何等待密码提示出现(如何知道批处理脚本正在等待密码条目)。 因此,我的问题是:如何知道批处理