找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24904|回复: 4

[文本处理] 求救,bat怎么接受参数,并获取某行某列的值?

[复制链接]
发表于 2014-4-2 14:54:32 | 显示全部楼层 |阅读模式
本帖最后由 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
发表于 2014-4-2 19:44:56 | 显示全部楼层
本帖最后由 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
复制代码
发表于 2014-4-2 22:27:51 | 显示全部楼层
本帖最后由 PowerShell 于 2014-4-2 22:29 编辑

powershell  比 bat 简单,强大,实用的多
  1. $aaa = (Get-Process cmd).ws
复制代码
获取cmd的使用内存(单位kb),存入变量aaa
powershell 有switch,等。详见版内powershell2.0官方手册。chm
发表于 2014-4-2 23:42:50 | 显示全部楼层
回复 3# PowerShell


    你这个没有体现出“从外面会传来两个参数”
发表于 2014-4-3 16:06:22 | 显示全部楼层
传进来一个进程名,传出去一个进程内存占用, ----哪来的【从外面会传来两个参数】

$进程名=cmd
$此进程的内存占用 = (Get-Process $进程名).ws
-------------如何传值-----------
给脚本,函数传值 都用 空格
返回都用return
详见手册。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 02:02 , Processed in 0.033631 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表