【问题标题】:how to do "press enter to exit" in batch如何批量执行“按回车退出”
【发布时间】:2009-09-22 07:36:25
【问题描述】:

我正在使用 rake 构建我的项目,并且我有一个类似于此的 build.bat 文件:

@echo off
cls
rake

当我双击 build.bat 时,dos 窗口会弹出并显示所有进度,但在任务完成后会自行关闭。有没有办法做一个 Console.ReadLine 以便用户有机会看到日志?

谢谢。

更新:

我在下面尝试过,但没有成功。不知道为什么。

@echo off
cls
rake
pause

【问题讨论】:

    标签: batch-file rake


    【解决方案1】:
    pause
    

    将显示:

    按任意键继续。 . .

    【讨论】:

    • 抱歉,没有意识到 rake 是另一个批处理文件。
    【解决方案2】:

    Microsoft 的默认解释器以某种方式完成,这会导致它们在到达 EOF 时退出。如果 rake 是另一个批处理文件,命令解释器切换到它并在 rake 解释完成时退出。为了防止这种写:

    @echo off
    cls
    call rake
    pause
    

    恕我直言,呼叫操作员将启动另一个解释器实例,从而防止当前一个解释器切换到另一个输入文件。

    【讨论】:

      【解决方案3】:
      @echo off
      echo something
      echo Press enter to exit
      set /p input=
      

      【讨论】:

        【解决方案4】:
        @echo off
        echo Press any key to exit . . .
        pause>nul
        

        【讨论】:

          【解决方案5】:

          使用这个sn-p:

          @echo off
          echo something
          echo.
          echo press enter to exit
          pause >nul
          exit
          

          【讨论】:

            【解决方案6】:

            我猜rake 是一个批处理程序。当您在没有call 的情况下调用它时,控制权不会返回到您的build.bat。试试:

            @echo off
            cls
            CALL rake
            pause
            

            【讨论】:

              【解决方案7】:

              哎呀...误解了问题...

              暂停是要走的路

              旧答案:

              您可以将命令通过管道传输到您的补丁文件中...

              试试

              build.bat < responsefile.txt
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-05-27
                • 1970-01-01
                • 2022-11-26
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多