微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过.bat中的行循环并存储variables而不覆盖

我正在试图从性能计数器中存储一个度量值在一个variables中

FOR /F "tokens=1-2 delims==,¶" %%I IN ('typeperf "MemoryAvailable bytes" -sc 1') DO ( ECHO I %%I,J %%J )

但for循环的每次迭代都会覆盖上一行的variables。 有什么build议么?

我怎样才能循环通过脚本中的一些文件

windows批处理,在嵌套循环内设置一个variables

嵌套批循环

如何从svn状态循环linux中的文件

使用循环批处理(将所有文件复制到文件夹)

@echo off setlocal enableDelayedExpansion FOR /F "skip=1 tokens=1-2 delims==,¶" %%I IN ('typeperf "MemoryAvailable bytes" -sc 1') DO ( if "%%~I" equ "Exiting" goto :break set "datet=%%~I" set "datet=!datet: =!" set "!datet!=%%~J" ) :break set !datet!

这是你想实现的吗?

@ECHO OFF >NUL SETLOCAL enableextensions enabledelayedexpansion :: number of samples set "iiIters=5" :: iteration counter set /A "iiCnt=0" FOR /F "tokens=1-2 delims=," %%I IN ( 'typeperf "MemoryAvailable bytes" -sc %iiIters%^| findstr /R ".*",".*"') DO ( set "iiValName[!iiCnt!]=%%~I" set "iiValValue[!iiCnt!]=%%~J" set /A "iiCnt+=1" ) :: display result set ii

在上面的代码片段中,来自性能计数器的数据存储在类似数组的变量中:

iiValName[0] :输出格式( CSV标题);

iiValValue[0] : \ComputerObject(Instance)Counter格式中的性能计数器的全名( CSV头)

iiValName[n] :特定的样本日期和时间( n >= 1 );

iiValValue[n] :相应的度量值( n >= 1 )。

资源 (必读):

(命令参考) Windows CMD命令行的AZ索引

(附加特性) Windows CMD Shell命令行语法

( %~I等特殊页面) 命令行参数(参数)

谢谢大家的答案。 我选择了Powershell,并取得了我想要的结果 –

`$freespace = Get-Counter "Logicaldisk(_Total)% Free Space" $f = $freespace.countersamples | Select-Object -Property RawValue $fVal = $f.rawvalue`

我只是需要一种方法来将性能计数器的值存储在一个变量中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐