1. //startup.bat
    2. taskkill /F /FI "imagename eq nginx.exe"
    3. start .\nginx.exe
    4. pause
    5. //第二个版本
    6. @echo off
    7. time /t >> a.txt
    8. tasklist | findstr nginx.exe
    9. Rem echo %errorlevel%
    10. @echo on
    11. if %errorlevel%==0 taskkill /F /IM nginx.exe
    12. E:
    13. cd nginx-1.12.2
    14. start nginx.exe
    15. exit


    杀掉所有名称为nginx的进程。

    注意:window shell 有一点坑
    1、imagename eq nginx.exe 必须用双引号,单引号会报错。
    2、/F /FI 最好也大小

    win10 powershell 不存在上述问题


    补充windows bat脚本常用指令:

      1. echo @
      2. 回显命令
      3. @ #关闭单行回显
      4. echo off #从下一行开始关闭回显
      5. @echo off #从本行开始关闭回显。一般批处理第一行都是这个
      6. echo on #从下一行开始打开回显
      7. echo #显示当前是 echo off 状态还是 echo on 状态
      8. echo. #输出一个”回车换行”,空白行
      9. #(同echo, echo; echo+ echo[ echo] echo/ echo)
    1. Rem: 相当于程序里面的注释// /…./
    1. pause: 等待 …会提示“请按任意键继续”
    1. exit: 退出命令窗口
    1. cd: 在powershell中,”cd + 路径 “是可以直接进入到目录的,但是在常规的命令窗口中,不能直接进入。必须先输入一个盘符,比如D: 然后再使用cd 命令。


    例子:

    echo hello
    @echo date
    Rem md newDir
    D:
    cd centos\centos7
    pause
    
    结果:
    
    C:\Users\slimteaegg\Desktop>echo hello
    hello
    date
    
    C:\Users\slimteaegg\Desktop>Rem md newDir
    
    C:\Users\slimteaegg\Desktop>D:
    
    D:\>cd centos\centos7
    
    D:\centos\centos7>pause
    请按任意键继续. . .
    
    1. 常用DOS命令:
    md 文件夹名称:  新建文件夹
    rd: 删除目录
    dir: 显示目录以及子目录---单独dir命令,显示当前文件下的内容;"dir+路径",显示目标路径下的文件内容
    
    "type 文本路径": 显示文本内容
    copy: 复制文件--copy E:\startup.bat D:\startup.bat
    move: 移动文件--move E:\startup.bat D:\
    ren:  重命名----ren D:\startup.bat start_nignx.bat
    find: 查找字符串---find "start" D:\start_nignx.bat
    
    
    taskkill结束进程
    tasklist显示进程列表
    
    cls: 清屏
    
    1. call “bat文件路径”: 调用脚本
    1. %errorlevel%
    echo %errorlevel%
    每个命令运行结束,可以用这个命令行格式查看返回码
    默认值为0,一般命令执行出错会设 errorlevel 为1
    
    1. date 和 time
      日期和时间
      date           #显示当前日期,并提示输入新日期,按"回车"略过输入
      date/t         #只显示当前日期,不提示输入新日期
      time           #显示当前时间,并提示输入新时间,按"回车"略过输入
      time/t         #只显示当前时间,不提示输入新时间
      
    1. set : 显示所有可用的变量
      set + 变量名: 查看该变量下的值----set Path