我想制作一个性能监控批处理程序。我自己插入VB。但问题是,我不能制作一个插入文件
除了第二,我做到了
有人会帮助我们如何将数据分成我想要的数据吗?
转储文件是这样的
------------------------------------------------
**# 20180917_CAFENOIR_PERF.cvs**
------------------------------------------------
"(PDH-CSV 4.0) (","\\CAFENOIR\Processor(_Total)\% Processor time","\\CAFENOIR\Memory\Available KBytes","\\CAFENOIR\LogicalDisk(C:)\% Free Space","\\CAFENOIR\LogicalDisk(D:)\% Free Space","\\CAFENOIR\LogicalDisk(E:)\% Free Space"
"09/17/2018 12:32:11.439"," ","2389340","73.031078258802481","99.758165860552879","92.077869960114995"
"09/17/2018 12:32:12.474","13.17071949707611","2393976","73.031078258802481","99.758165860552879","92.077869960114995"
我想把这个文件做成这样的
------------------------------------------------
**# 20180917_12_CAFENOIR_perfmon.imp**
------------------------------------------------
CAFENOIR
"13.17071949707611"
"2393976"
"73.031078258802481"
"99.758165860552879"
"92.077869960114995"
"09/17/2018 12:32:12.474"
我尝试使用这样的脚本,但它只是输出了计算机名称
CAFENOIR
我希望有人能给出一个线索
添加了代码(抱歉,我忘了)
for /F "tokens=1-6 skip=2 delims=," %%a IN ('type *.cvs') do (@echo %computername% %%b% %%c% %%d% %%e% %%f% %%a% > %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%computername%_perfmon.imp
)
看看你的答案,它有很多问题。你可以运行一个循环,并且没有%%a%
这样的东西:
@echo off
for /F "tokens=1-6 skip=2 delims=," %%a IN ('type *.cvs') do (
set "vDT=%%a"
set "vCPU=%%b"
set "vMEM=%%c"
set "vCfree=%%d"
set "vDfree=%%e"
set "vEfree=%%f"
echo %computername% %vCPU% %vMEM% %vCfree% %vDfree% %vEfree% %vDT% > %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%computername%_perfmon.imp
)
更好的是,您甚至不需要设置变量就像预先定义它们一样:
@echo off
for /F "tokens=1-6 skip=2 delims=," %%a IN ('type *.cvs') do (
echo %computername% %%b %%c %%d %%e %%f %%a > %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%computername%_perfmon.imp
)
这很有趣。我为此奋斗了一个星期,但在我发布问题之后,我就是自己做的
我希望它会帮助那些分开A文件参数的人。
@SET vCPU = none
@SET vMEM = none
@SET vCfree = none
@SET vDfree = none
@SET vEfree = none
@SET vDT = none
FOR /F "tokens=1 skip=2 delims=," %%a IN ('type *.cvs') DO @SET vDT=%%a%
FOR /F "tokens=2 skip=2 delims=," %%a IN ('type *.cvs') DO @SET vCPU=%%a%
FOR /F "tokens=3 skip=2 delims=," %%a IN ('type *.cvs') DO @SET vMEM=%%a%
FOR /F "tokens=4 skip=2 delims=," %%a IN ('type *.cvs') DO @SET vCfree=%%a%
FOR /F "tokens=5 skip=2 delims=," %%a IN ('type *.cvs') DO @SET vDfree=%%a%
FOR /F "tokens=6 skip=2 delims=," %%a IN ('type *.cvs') DO @SET vEfree=%%a%
@echo %vCPU%
@echo %vMEM%
@echo %vCfree%
@echo %vDfree%
@echo %vEfree%
@echo %vDT%
@echo %computername% %vCPU% %vMEM% %vCfree% %vDfree% %vEfree% %vDT% > %date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%_%computername%_perfmon.imp**