[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求救,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:47 编辑
  1. for /f "tokens=5,*" %%i in ('tasklist /fi "imagename eq %1"^|find /i "%1"') do echo %%i %%j
复制代码

TOP

本帖最后由 PowerShell 于 2014-4-2 22:29 编辑

powershell  比 bat 简单,强大,实用的多
  1. $aaa = (Get-Process cmd).ws
复制代码
获取cmd的使用内存(单位kb),存入变量aaa
powershell 有switch,等。详见版内powershell2.0官方手册。chm
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

回复 3# PowerShell


    你这个没有体现出“从外面会传来两个参数”

TOP

传进来一个进程名,传出去一个进程内存占用, ----哪来的【从外面会传来两个参数】

$进程名=cmd
$此进程的内存占用 = (Get-Process $进程名).ws
-------------如何传值-----------
给脚本,函数传值 都用 空格
返回都用return
详见手册。
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

返回列表