CMD中获取命令返回值

朴灿烈づ我的快乐病毒、 2023-02-14 13:27 21阅读 0赞

例如指令:
tasklist|find /i "mongod.exe"
返回的结果是:

  1. C:\Users\Ruby>tasklist|find /i "mongod.exe"
  2. mongod.exe 8364 Console 2 165,864 K

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

  1. @echo off
  2. for /f "tokens=2" %%i in ('tasklist^|find /i "mongod.exe"') do set val=%%i
  3. echo %val%
  4. pause

其中:

  1. 如果 tokens=1,那么结果为mongod.exe
  2. 如果 tokens=3, 那么结果为Console
  3. 如果 tokens=4,那么结果为2
  4. 如果 tokens=5,那么结果为165,864
  5. 如果 tokens=5,那么结果为K

也就是说,tokens读取的,是忽略空格的列的值!
注意:如果要在命令中使用管道符,需要添加 ^ 符号

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

  1. @echo off
  2. REM "如果是start那么按照后台启动的方式运行mongodb"
  3. REM "如果是stop,那么关闭mongodb"
  4. REM "如果是restart,那么重启""
  5. REM "默认前台启动mongod"
  6. if "%1"=="start" (
  7. cmd /C start /b mongod -f "D:\Program Files\mongodb-win32-x86_64-2012plus-4.2.6\mongod.conf" &&echo mongodb.exe已启动
  8. ) ^
  9. else if "%1"=="stop" (
  10. taskkill -f -im mongod.exe
  11. ) ^
  12. else if "%1"=="restart" (
  13. taskkill -f -im mongod.exe > nul
  14. cmd /C start /b mongod -f "D:\Program Files\mongodb-win32-x86_64-2012plus-4.2.6\mongod.conf" && echo 已重新启动mongodb.exe
  15. ) ^
  16. else if "%1"=="status" (
  17. for /f "tokens=2" %%i in ('tasklist^|find /i "mongod.exe"') do set mpid=%%i
  18. tasklist|find /i "mongod.exe" > nul && echo mongodb.exe运行中, pid为%mpid% || echo mongodb.exe未运行
  19. ) ^
  20. else (
  21. tasklist|find /i "mongod.exe" > nul && echo mongodb.exe已启动,不必重复启动 || mongod -f "D:\Program Files\mongodb-win32-x86_64-2012plus-4.2.6\mongod.conf"
  22. )

发表评论

表情:
评论列表 (有 0 条评论,21人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Windowscmd命令

    Windows提供了许多命令来完成各种任务。以下是一些常用的Windows命令提示符(CMD)命令: 1. dir:列出当前目录中的文件和子目录。 2. cd:更

    相关 Linux命令返回

     在 Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令,所有的程序在结束时,都会返回一个数字值,这个值叫做返回值,或者称为错误号 ( Error Nu

    相关 Linux 命令 返回

    Linux 命令行,执行程序后的返回值 在 Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令,所有的程序在结束时,都会返回一个数字值,这个值叫做返回值,或

    相关 postman获取返回

    在实现接口自动测试的时候,会经常遇到接口参数依赖的问题,例如调取登录接口的时候,需要先获取登录的key值,而每次请求返回的key值又是不一样的,那么这种情况下,要实现接口的自