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

[文本处理] [已解决]批处理怎样传递进程PID?

[复制链接]
发表于 2011-5-1 21:08:52 | 显示全部楼层 |阅读模式
本帖最后由 zcdyj 于 2011-5-2 18:29 编辑

这个是获取进程PID的代码
@echo off
wmic process where (name like '%%kk%%') get processid /value

运行这个以后会得到例如ProcessId=985或其他数字

有一个程序需要调用上面的PID
请教如何把上面的PID自动传递到下面的这个批处理中

Set /p num=输入PID:
start Loader.exe %num% Loader.dll

例如我运行了第一个批处理得到结果是ProcessId=880和ProcessId=998和ProcessId=820和ProcessId=966和....
怎样把第一个批处理取得的PID传递到第二个批处理中
即运行批处理结果是
start Loader.exe 880 Loader.dll
start Loader.exe 998 Loader.dll
start Loader.exe 820 Loader.dll
start Loader.exe 966 Loader.dll
start Loader.exe (上面获取的PID) Loader.dll
请教大家这样的批处理应该如何写?先谢谢了

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-5-1 21:20:38 | 显示全部楼层
本帖最后由 batman 于 2011-5-1 21:24 编辑

不知道用参数传递?
a.bat中
call b.bat 获取的进程pid
可以每次传递1个,也可以一次将9个以内的pid传递给b.bat

b.bat
start Loader.exe %n Loader.dll
n表示第几个参数
发表于 2011-5-1 21:30:48 | 显示全部楼层
本帖最后由 hanyeguxing 于 2011-5-2 13:23 编辑
  1. @echo off
  2. for /f "tokens=1* delims==" %%a in ('wmic process where "name like '%%qq%%'" get processid /value') do if not "%%b"=="" call:a %%b
  3. exit
  4. :a
  5. start Loader.exe %1 Loader.dll
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-5-1 21:55:29 | 显示全部楼层
感谢两位版主的热心帮助 因为有N个PID要放入这个格式 能不能在取得PID的情况下批量执行这个程序?
start Loader.exe PID Loader.dll
发表于 2011-5-1 22:27:49 | 显示全部楼层
3楼的代码里,凡是 where "name like '%%qq%%'" 匹配出来的 pid 都是执行 start Loader.exe PID Loader.dll
 楼主| 发表于 2011-5-2 00:21:37 | 显示全部楼层
5# hanyeguxing


版主你好 PID哪里只能是纯数字 我运行了不成功 有没有办法用Set /p num参数运行?
 楼主| 发表于 2011-5-2 00:45:00 | 显示全部楼层
5# hanyeguxing


不知道为什么用这个代码获取的PID值不对 我的进程PID位4184 批处理获取的是41805 导致程序无法运行
发表于 2011-5-2 08:32:03 | 显示全部楼层
本帖最后由 hanyeguxing 于 2011-5-2 13:17 编辑

已在3楼更新,处理了回车符的问题
发表于 2011-5-2 12:48:29 | 显示全部楼层
1# zcdyj


get方法不要加/value参数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 04:25 , Processed in 0.021775 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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