如何运行如下命令
typeperf "\Process(*)\% Processor Time" -sc 1
来自批处理文件?
从命令行运行该命令会输出一些奇怪的内容,而从 bat 文件运行它会打印
Error: No valid counters.
答案1
您需要将百分号加倍。从http://support.microsoft.com/kb/75634
在批处理文件中使用百分号 (%) 需要指定两个百分号 (%%)。
(...)
MS-DOS 使用 %1、%2、... %9 作为可替换的命令行参数。例如,在执行命令 ECHO %1 之前,%1 将被替换为传递给批处理文件的第一个参数。%0 将被替换为用于执行批处理文件的命令。在批处理文件中,一行上的单个百分号被视为“空”字符。
答案2
除了使用双 % 符号外,您还可以使用配置文件来设置计数器,如下所示:
tp.cfg:
\Processor(_Total)\% Processor Time
\Memory\Page Faults/sec
然后在批处理文件调用中:
typeperf-cf“tp.cfg”命令