io流获取返回值 ruby_CMD中获取命令返回值

例如指令:

tasklist|find /i "mongod.exe"

返回的结果是:

C:\Users\Ruby>tasklist|find /i "mongod.exe"

mongod.exe 8364 Console 2 165,864 K

可以通过一起bat脚本读取值:

@echo off

for /f "tokens=2" %%i in ('tasklist^|find /i "mongod.exe"') do set val=%%i

echo %val%

pause

其中:

如果 tokens=1,那么结果为mongod.exe

如果 tokens=3, 那么结果为Console

如果 tokens=4,那么结果为2

如果 tokens=5,那么结果为165,864

如果 tokens=5,那么结果为K

也就是说,tokens读取的,是忽略空格的列的值!

注意:如果要在命令中使用管道符,需要添加 ^ 符号

一个完整的应用启停的例子:

@echo off

REM "如果是start那么按照后台启动的方式运行mongodb"

REM "如果是stop,那么关闭mongodb"

REM "如果是restart,那么重启""

REM "默认前台启动mongod"

if "%1"=="start" (

cmd /C start /b mongod -f "D:\Program Files\mongodb-win32-x86_64-2012plus-4.2.6\mongod.conf" &&echo mongodb.exe已启动

) ^

else if "%1"=="stop" (

taskkill -f -im mongod.exe

) ^

else if "%1"=="restart" (

taskkill -f -im mongod.exe > nul

cmd /C start /b mongod -f "D:\Program Files\mongodb-win32-x86_64-2012plus-4.2.6\mongod.conf" && echo 已重新启动mongodb.exe

) ^

else if "%1"=="status" (

for /f "tokens=2" %%i in ('tasklist^|find /i "mongod.exe"') do set mpid=%%i

tasklist|find /i "mongod.exe" > nul && echo mongodb.exe运行中, pid为%mpid% || echo mongodb.exe未运行

) ^

else (

tasklist|find /i "mongod.exe" > nul && echo mongodb.exe已启动,不必重复启动 || mongod -f "D:\Program Files\mongodb-win32-x86_64-2012plus-4.2.6\mongod.conf"

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值