我使用“typeperf”命令来实现特定程序使用的带宽表示(在本例中为spotify)。我需要从typeperf命令中重复检索一个数值,但typeperf的输出包含不需要的文本。根据我的研究,我使用“For/F”来将typeperf输出存储到一个变量中,但它似乎是typeperf的多行输出,并且可能它的计算时间导致了我没有想到的结果。我怎样才能让变量“bndwdth”保存值“44433.214648”?筛选命令表达式结果以备将来在脚本中使用
相应的命令:
typeperf "\Process(spotify)\IO Data Bytes/sec" -sc 1
输出:
"(PDH-CSV 4.0)","\\name\Process(spotify)\IO Data Bytes/sec"
"10/28/2014 10:31:09.250","44433.214648"
尝试的解决方案:
For /F "Tokens=2 delims=," %I in ('typeperf "\Process(spotify)\IO Data Bytes/sec" -sc 1') Do Set bndwdth=%I
Outpu T:
C:\Users\name\Desktop>Set bndwdth="\\name\Process(spotify)\IO Data Bytes/sec"
C:\Users\name\Desktop>Set bndwdth="44433.214648"
C:\Users\name\Desktop>Set bndwdth= please wait...
感谢您的帮助!
谢谢,这是非常有帮助的。你介意解释“1 ^”部分的作用吗?另外,你能澄清一下“r”标志在findstr中的含义吗?我发现“/ r:使用搜索字符串作为正则表达式,Findstr将所有元字符解释为正则表达式,除非您使用/ l”,但作为只有编程经验的人在matlab中,这有点难以理解。再次感谢! – user4179133 2014-10-29 16:25:45
@ user4179133 - 查看已更新的答案 – dbenham 2014-10-29 21:02:49