我不熟悉Windows中的批处理脚本,并希望完成以下任务:
RXP: 3.2.2e (Feb 13 2002) rxp sched distr policy servers vifs acache aFNAT 1 1 1 10 8 1 1 0 kern trace log schaddr 1 0 3 xx.xx.xx.xxx Scheduler: opens hits cpuload errors retries time 15 426585 0 0 0 873431895
我想将数字426585保存到我以后可以使用的变量中。
任何帮助都将不胜感激。
答案 0 :(得分:1)
这样做:
for /f "skip=7 tokens=2 delims= " %%l in (d:\thing.txt) do set HITS=%%l
echo %HITS%
假设文件总是长8行而且永远不再长,并且命中总是行中的第二列。如果时间越长,您就需要更多逻辑来忽略后续行。
编辑:这应该能够处理文件中需要忽略的更多行:
Setlocal EnableDelayedExpansion
for /f "skip=7 tokens=2 delims= " %%l in (d:\thing.txt) do (
if !FOUND! neq 1 (
set HITS=%%l
set FOUND=1
)
)
echo %HITS%
PS。您可以使用
在PowerShell中执行此操作$hits = [Int](gc D:\thing.txt)[7].Split(' ', [StringSplitOptions]'RemoveEmptyEntries')[1]
write $hits
编辑:PowerShell版本不需要更改以忽略更多行。