gpt4 book ai didi

batch-file - 批处理变量中的最后一个标记

转载 作者:行者123 更新时间:2023-12-03 21:06:27 24 4
gpt4 key购买 nike

在批处理文件中,如何获取变量中的最后一个标记,而不管它是数字还是单词,也不管变量中有多少标记/单词。

我将像这样将参数传递到批处理文件中:
C:\execbatch.bat "This is example one"或者C:\execbatch.bat "This is example number 2"
然后批处理文件将是这样的:

@echo off

SET var=%1
SET last=some command to grab the last token of %var%
echo %last%
exit

本质上,我需要能够始终获取最后一个 token ,在这些示例中,我想获取 one来自示例 1 和 2来自示例 2。

附加信息:

问题不是命令行参数,这只是一个简化的例子:

情况是我在批处理文件中调用命令并将其输出发送到变量,如下所示:
C:\execbatch.bat memoryC:\execbatch.bat cpu
然后在批处理文件中:
For /F "Tokens=*" %%I in ('c:\monitor.exe -C custom_performance_counter -t %1 -w 80 -c 90') Do Set COMMANDOUTPUT=%%I

Echo %COMMANDOUTPUT%
Set CURRENTVALUE=some command to grab the last token of %COMMANDOUTPUT%
Echo "The current value is %CURRENTVALUE%"

这将根据检查类型输出各种结果;然而,在每种情况下,最后一个标记/变量始终是当前值,尽管是数字或单词。

最佳答案

为什么这么复杂?

变量中字符串的解决方案:

set var1=This is a String
for %%A in (%var1%) do set last=%%A

回声最后=%last%

外部命令结果的解决方法:
set xcmd=c:\monitor.exe -C custom_performance_counter -t %1 -w 80 -c 90
for /f "tokens=*" %%I in ('%xcmd%') do for %%A in (%%~I) do set last=%%A
echo last=%last%

关于batch-file - 批处理变量中的最后一个标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5473840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com