Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将单独的Windows批处理文件与using FOR(令牌、delims)一起使用?_Windows_Batch File_For Loop_Token - Fatal编程技术网

如何将单独的Windows批处理文件与using FOR(令牌、delims)一起使用?

如何将单独的Windows批处理文件与using FOR(令牌、delims)一起使用?,windows,batch-file,for-loop,token,Windows,Batch File,For Loop,Token,我想做一个性能监控批处理程序。我自己做的。但问题是,我不能制作一个用于插入的文件 转储性能监视文件 将文件处理为可插入的数据 通过FTP发送到服务器 插入数据 除了我做的一切 有人能帮我把数据和我想做的分开吗 转储文件如下所示 ------------------------------------------------ **# 20180917_CAFENOIR_PERF.cvs** ------------------------------------------------ "(PDH

我想做一个性能监控批处理程序。我自己做的。但问题是,我不能制作一个用于插入的文件

转储性能监视文件 将文件处理为可插入的数据 通过FTP发送到服务器 插入数据 除了我做的一切

有人能帮我把数据和我想做的分开吗

转储文件如下所示

------------------------------------------------
**# 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"
我想把文件做成这样

------------------------------------------------
**# 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
我希望有人能提供线索

添加代码抱歉我忘了


这很有趣。我为此苦苦挣扎了一周,但在我发布了这个问题后,我只是自己做了

我希望它能帮助那些分离文件参数的人

@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**

看看你的答案,它有很多问题。您可以运行一个循环,但不存在%%a%%:

更好的是,您甚至不需要设置变量,因为您已经预定义了这些变量:

@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
)

请重新访问您的问题和答案,分别选择文件内容和代码部分,然后按{}按钮对其进行格式化并使其可读。我自己制作的insert VB不清楚您在说什么。但问题是,我不能制作一个用于插入的文件。什么是可插入数据?为什么要在数据发送到服务器后插入这些数据?我之所以要创建这些文件,是为了将数据插入数据库以进行监视。所以我进行了插入批处理,但无法生成转储文件。请学习如何通过按正确格式设置文本格式?发布时在编辑框中,或单击。而像vCPU=none或vMEM=none这样的命令将不起作用,因为集合中的空格非常重要。除了1。我没有意识到当设置一个参数时,哪里就没有空间了。谢谢。谢谢你的链接,我想,我应该改变命名文件的方式。非常感谢你的帮助。%%在我编辑脚本时发生了%的错误。我很困惑。我找了个帮手?还有博客和。。简单地说,这是对语法的误解。再次感谢你的帮助