Board logo

标题: [其他] 【已解决】求助批处理命令for....in...do问题 [打印本页]

作者: chouxia    时间: 2015-3-28 13:38     标题: 【已解决】求助批处理命令for....in...do问题

本帖最后由 chouxia 于 2015-3-29 09:08 编辑

代码如下:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set %a=9999
  4. for /f "tokens=2,* delims=".^""  %%a in ('"tasklist /fi "IMAGENAME eq UCBrowser.exe" /fi "CPUTime gt 00:00:05" /fo csv') do (set id=%%b)
  5. echo %id%
复制代码
回显显示:
此时不应有 /fi
修正的代码是:
  1. for /f "tokens=2,* delims=".^""  %%a in ('tasklist /fi "IMAGENAME eq UCBrowser.exe" /fi "CPUTime gt 00:00:05" /fo csv') do (set id=%%b)
复制代码
回显:此时不应有 eq
我想知道哪个地方的问题。
麻烦大家了
作者: chouxia    时间: 2015-3-28 13:40

此外,在win8上CPUTime gt 00:00:05 意思是5分钟吗?   为什么设置为00:05:00不行?
作者: CrLf    时间: 2015-3-28 14:18

tokens=2*delims^=".^^"
作者: pcl_test    时间: 2015-3-28 14:36

回复 1# chouxia
CPU时间,格式hh:mm:ss,hh时,mm分,ss秒
  1. @echo off
  2. for /f skip^=1^ tokens^=2^,3*^ delims^=^",  %%a in ('tasklist /fi "IMAGENAME eq UCBrowser.exe" /fi "CPUTime gt 00:00:05" /fo csv') do set PID=%%b &call echo %%PID%%
  3. pause
复制代码

作者: chouxia    时间: 2015-3-28 15:20

回复 4# pcl_test


    这个skip=1是什么意思呢?
作者: pcl_test    时间: 2015-3-28 15:28

回复 5# chouxia

跳过第一行的
  1. "映像名称","PID","会话名      ","会话#   ","内存使用 "
复制代码

作者: pcl_test    时间: 2015-3-28 15:40

回复 5# chouxia
问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
作者: DAIC    时间: 2015-3-28 22:29

回复 2# chouxia


    CPU的使用是基于时间片轮转的,不是说你打开一个程序5分钟之后它的CPUTIME就会达到5分钟
作者: chouxia    时间: 2015-3-29 10:24

回复 8# DAIC


    如果我想统计某进程运行的时长,具体应该怎么操作?
作者: DAIC    时间: 2015-3-29 14:56

回复 9# chouxia
  1. wmic process where "name='UCBrowser.exe'" get CreationDate /value
复制代码
这样可以获得进程开始的时间,用它和当前系统时间做比较就行了。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2