【问题标题】:Quit command prompt after exiting Electron app退出 Electron 应用程序后退出命令提示符
【发布时间】:2018-02-22 16:59:16
【问题描述】:

有没有办法在命令行程序结束后关闭命令提示符?

我有一个 Electron 应用程序,我从一个带有以下命令的批处理文件开始:

start npm start

退出 Electron 应用程序后,命令提示符保持打开状态。我尝试将exit 添加到批处理文件的末尾,但这不起作用。

【问题讨论】:

    标签: batch-file cmd electron


    【解决方案1】:

    我建议在您的批处理文件中实现一些 goto 占位符,以便您的脚本可以遵循明确定义的路径或工作流程。

    类似于这里的答案... Batch - If, ElseIf, Else

    如果您需要运行从批处理文件启动的命令,您可以在命令完成后使用/C 标志关闭新窗口。

    在此处查看此答案... BAT file: Open new cmd window and enter code in there


    另外...如果您需要批处理脚本中的多个任务,这是我使用的一个示例,它允许用户输入。包括两个示例,/k 标志允许窗口保持打开状态,/C 标志关闭初始命令提示符。

    @echo off
    :start
    cls
    @echo Select An Action:
    @echo.
    @echo 1= Task 1 (new cmd /C, start npm -l)
    @echo 2= Task 2 (new cmd /k, start npm -l)
    @echo.
    set /p userinp=Enter Your Choice:
    set userinp=%userinp:~0,1%
    if "%userinp%"=="1" goto 1
    if "%userinp%"=="2" goto 2
    if "%userinp%"=="3" goto 3
    if "%userinp%"=="4" goto 4
    
    if not "%userinp%" =="" @echo Invalid Choice
    pause
    goto start
    
    :1
    start cmd /C start npm -l
    @echo Task 2 Complete...
    @echo.
    @echo Closing in 10 seconds...
    timeout /t 10
    goto end
    
    :2
    start cmd /k start npm -l
    @echo Task 2 Complete...
    @echo.
    @echo Closing in 10 seconds...
    timeout /t 10
    goto end
    
    :end 
    exit
    

    【讨论】:

    • 谢谢。不幸的是,添加/C 标志会导致此脚本立即关闭并终止正在运行的应用程序。
    • 在您的情况下使用/k 标志而不是/C 会更好吗?
    • 同样的问题。当我运行批处理文件时,程序会启动,直到它被用户终止,此时由批处理文件创建的命令提示符窗口保持打开状态。立即使用/k/C 终止窗口也会终止应该保持打开的进程。
    • @ChristopherMurphy:我决定安装 nodejs 看看能否更好地了解您要完成的工作。我不认为带有/k 标志的选项是您所追求的。请参阅我在原文中的编辑,因为我已经包含了两者的示例。第一个选项我可以在 10 秒超时后关闭初始窗口时保持新窗口打开并列出 npm 使用信息。
    猜你喜欢
    • 2013-04-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多