标题: [文本处理] 求救,bat怎么接受参数,并获取某行某列的值? [打印本页]
作者: hello163commail 时间: 2014-4-2 14:54 标题: 求救,bat怎么接受参数,并获取某行某列的值?
本帖最后由 hello163commail 于 2014-4-2 15:00 编辑
从外面会传来两个个参数,第一个参数是进程名称是变量,第二个参数是memoryuse
想编写一个脚本,接受外面传来的参数,
1、如果参数是xx进程,memoryuse,
比如在cmd中输入tasklist /fi "imagename eq 进程名称",如果该进程名称是cmd的话,就会输出下面这样
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================ =========== ============
cmd.exe 26528 Console 1 3,220 K
这时候我想把第5列的值3220k输出。该怎么写呢
我是这样写的,
for /f "skip=3 tokens=5" %%i in ('tasklist /fi "imagename eq %1"') do echo %%i
作者: 522235677 时间: 2014-4-2 19:44
本帖最后由 522235677 于 2014-4-2 19:47 编辑
- for /f "tokens=5,*" %%i in ('tasklist /fi "imagename eq %1"^|find /i "%1"') do echo %%i %%j
复制代码
作者: PowerShell 时间: 2014-4-2 22:27
本帖最后由 PowerShell 于 2014-4-2 22:29 编辑
powershell 比 bat 简单,强大,实用的多- $aaa = (Get-Process cmd).ws
复制代码
获取cmd的使用内存(单位kb),存入变量aaa
powershell 有switch,等。详见版内powershell2.0官方手册。chm
作者: DAIC 时间: 2014-4-2 23:42
回复 3# PowerShell
你这个没有体现出“从外面会传来两个参数”
作者: PowerShell 时间: 2014-4-3 16:06
传进来一个进程名,传出去一个进程内存占用, ----哪来的【从外面会传来两个参数】
$进程名=cmd
$此进程的内存占用 = (Get-Process $进程名).ws
-------------如何传值-----------
给脚本,函数传值 都用 空格
返回都用return
详见手册。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |