Stackoverflow热门问题(二十二)-如何在Windows cmd中得到程序返回值?

文章首发及后续更新:https://mwhls.top/2873.html
新的更新内容请到mwhls.top查看。
无图/无目录/格式错误/更多相关请到上方的文章首发页面查看。

stackoverflow热门问题目录

如有翻译问题欢迎评论指出,谢谢。

如何在Windows cmd中得到程序返回值?
  • Skrud asked:
    • 我希望得到程序结束的返回值(因为不同返回值意味着不同错误)。
    • 我知道在Bash里可以通过这样运行得到

      echo $?

    • 但Windows的cmd.exe里面该如何做到?
  • Answers:
    • DrFloyd5 – vote: 1058
      • 有个伪环境变量errorlevel存储了返回值:
      • echo Exit Code is %errorlevel%
      • 对应了if的特殊语法:
      • if errorlevel
      • if /? 了解更多
      • 例子
      • @echo offmy_nify_exe.exe if errorlevel 1 ( echo Failure Reason Given is %errorlevel%
        exit /b %errorlevel%
        )

  • 警告:如果设置了一个errorlevel的环境变量,%errorlevel%将会返回它的值,而不是程序的返回值。使用 (set errorlevel=) 来清理这个环境变量,并正常返回程序的返回值。
  • Gary – vote: 291
    • 命令行中errorlevel的确有用,但就如dmihailescu说的一般,在运行一个窗口化的应用时,并不能得到想要的结果。窗口化的应用会后台运行,并立即返回值(通常是0,表示进程成功创建)。当这个应用结束的时候,它的返回值会丢失。
    • 因此推荐使用START /WAIT命令,它会开启窗口应用,并且等待它退出,对应返回值可以在errorlevel得到。
    • start /wait something.exe
      echo %errorlevel%
  • Adam Rosenfield – vote: 106

  • How do I get the application exit code from a Windows command line?
    • Skrud asked:
      • I am running a program and want to see what its return code is (since it returns different codes based on different errors).
        我希望得到程序结束的返回值(因为不同返回值意味着不同错误)。
      • I know in Bash I can do this by running
        我知道在Bash里可以通过这样运行得到

        echo $?

      • What do I do when using cmd.exe on Windows?
        但Windows的cmd.exe里面该如何做到?
    • Answers:
      • DrFloyd5 – vote: 1058
      • A pseudo environment variable named errorlevel stores the exit code:
        有个伪环境变量errorlevel存储了返回值:
      • echo Exit Code is %errorlevel%
      • Also, the if command has a special syntax:
        对应了if的特殊语法:
      • if errorlevel
      • See if /? for details.
        if /? 了解更多
      • Example
        例子
      • @echo off`
        my_nify_exe.exe
        if errorlevel 1 (
         echo Failure Reason Given is %errorlevel%` 
         exit /b %errorlevel%  
        )
      • Warning: If you set an environment variable name errorlevel, %errorlevel% will return that value and not the exit code. Use (set errorlevel=) to clear the environment variable, allowing access to the true value of errorlevel via the %errorlevel% environment variable.
        警告:如果设置了一个errorlevel的环境变量,%errorlevel%将会返回它的值,而不是程序的返回值。使用 (set errorlevel=) 来清理这个环境变量,并正常返回程序的返回值。
      • Gary – vote: 291
      • Testing ErrorLevel works for console applications, but as hinted at by dmihailescu, this won\’t work if you\’re trying to run a windowed application (e.g. Win32-based) from a command prompt. A windowed application will run in the background, and control will return immediately to the command prompt (most likely with an ErrorLevel of zero to indicate that the process was created successfully). When a windowed application eventually exits, its exit status is lost.
        命令行中errorlevel的确有用,但就如dmihailescu说的一般,在运行一个窗口化的应用时,并不能得到想要的结果。窗口化的应用会后台运行,并立即返回值(通常是0,表示进程成功创建)。当这个应用结束的时候,它的返回值会丢失。
      • Instead of using the console-based C++ launcher mentioned elsewhere, though, a simpler alternative is to start a windowed application using the command prompt\’s START /WAIT command. This will start the windowed application, wait for it to exit, and then return control to the command prompt with the exit status of the process set in ErrorLevel.
        因此推荐使用START /WAIT命令,它会开启窗口应用,并且等待它退出,对应返回值可以在errorlevel得到。
      • start /wait something.exe
        echo %errorlevel%
      • Adam Rosenfield – vote: 106
      • Use the built-in ERRORLEVEL Variable:
        使用内置的ERRORLEVEL变量
      • echo %ERRORLEVEL%
      • But beware if an application has defined an environment variable named ERRORLEVEL!
        要注意是否有应用定义了同名的环境变量
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个关于在 Windows 上使用 Waitress 作为 Flask 应用程序服务器的 Stack Overflow 帖子。在此帖子,用户询问如何在 Windows 上使用 Waitress,以便能够更好地处理并发请求并提高应用程序的性能。 回答提到了一些步骤,包括安装 Waitress、将应用程序绑定到 Waitress ,并使用 Waitress 运行应用程序。此外,还提到了一些可能出现的问题以及如何解决它们。 总的来说,这是一个非常有用的帖子,可以帮助 Flask 开发人员在 Windows 上使用 Waitress 以提高应用程序的性能和可靠性。 ### 回答2: 问题链接是一个有关使用Flask和Waitress在Windows上提供Flask应用的问题。Flask是一个Python的微型web框架,用于快速实现web应用,而Waitress是一个纯Python的WSGI服务器,用于提供Python web应用。 在Windows上使用Waitress提供Flask应用的步骤如下: 首先,确保已经安装了Python并设置了环境变量。 然后,可以使用以下命令来安装Flask和Waitress依赖: ``` pip install flask waitress ``` 在Flask应用程序,通过导入Flask类并创建一个应用程序实例来设置Flask应用,然后编写一个处理请求的路由函数。 最后,在应用程序的最后部分,添加以下代码来使用Waitress服务器提供应用: ``` from waitress import serve if __name__ == '__main__': # 这里的app是之前创建的Flask应用程序实例 serve(app, host='0.0.0.0', port=5000) ``` 这里的`host`参数设置为`'0.0.0.0'`表示可以通过任意IP地址访问应用,`port`参数设置为`5000`表示使用5000端口提供应用。 然后,只需在命令行运行Python脚本即可开始提供Flask应用。访问`http://localhost:5000`即可查看应用。 总结起来,使用Waitress在Windows上提供Flask应用只需要安装依赖,设置Flask应用和添加使用Waitress的代码即可。希望对你有帮助! ### 回答3: 感谢你的问题。这个问题问的是如何在Windows上使用Waitress来提供Flask应用。 首先,确保已经在Windows系统上安装了Python。然后,通过运行以下命令安装Waitress: ``` pip install waitress ``` 接下来,创建一个简单的Flask应用程序,比如以下示例: ```python from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run() ``` 以上代码创建了一个名为app的Flask应用,其包含一个指向根URL的路由。当运行该应用时,它将在本地主机的默认端口5000上运行。 接下来,使用以下代码将Flask应用与Waitress集成: ```python from waitress import serve from your_flask_app import app serve(app, host='0.0.0.0', port=8080) ``` 以上代码导入了serve函数和我们之前创建的Flask应用。将serve函数与app对象一起调用,可以在本地主机的8080端口上提供Flask应用。 最后,保存以上代码为一个Python脚本(例如`server.py`),在命令提示符运行以下命令来启动Waitress服务器: ``` python server.py ``` 现在,你的Flask应用将使用Waitress在本地主机的8080端口上运行。你可以通过访问`http://localhost:8080/`来查看你的应用。 希望这个回答对你有帮助。如果你还有其他问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值