暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

windows上关闭bat 脚本cmd的dos命令窗口

IT学习道场 2022-08-05
1894

我们在windows上,执行一些脚本,或者自定义一些批处理的 .bat 文件时,会默认打开一个cmd窗口,窗口关掉,相应进程也被关掉了,

下面介绍一个bat文件的处理方式,可以隐藏 cmd 的窗口,有不关掉响应的进程,就是在命令前添加如下代码:

    @echo off 
    if "%1" == "h" goto begin
    mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
    :begin

    在这下面再去执行你自定义的bat命令

    示例1:

    执行java的jar包,这个是 执行rocketmq的控制台的示例

      @echo off 
      if "%1" == "h" goto begin
      mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
      :begin

      java -jar rocketmq-console-ng-1.0.1.jar


      示例2,执行一些其他的,如mq的broker的bat文件

        @echo off 
        if "%1" == "h" goto begin
        mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
        :begin

        .\mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

        示例3,这是 mqnamesrv的批处理文件

          @echo off 
          if "%1" == "h" goto begin
          mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
          :begin

          ./mqnamesrv.cmd

          示例4,这是nacos的批处理文件

            @echo off 
            if "%1" == "h" goto begin
            mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
            :begin

            .\startup.cmd -m standalone

            依此类推就行

            windows根据端口号杀掉进程脚本


              @echo off
              set port=20002
              for f "tokens=5" %%a in ('netstat /ano | findstr %port%') do taskkill /F /pid %%a
              //for循环,提取第5个字段(从命令的结果中)赋予到变量a,并执行杀进程调用变量a
              pause


              上面那个脚本文件中端口号写死了,可以提取出来当成参数传递

                @echo off
                set port=%1
                for /f "tokens=5" %%a in ('netstat /ano | findstr %port%') do taskkill /F /pid %%a
                //for循环,提取第5个字段(从命令的结果中)赋予到变量a,并执行杀进程调用变量a
                pause

                调用方式:killport.bat 8080

                文章转载自IT学习道场,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论