首页 > 解决方案 > 命令返回非零退出状态 9

问题描述

我使用的是 Windows 10。我编写了以下代码来自动备份关键文件。它是作为 ms-dos 批处理文件的一部分启动的 python 模块的一部分。

当脚本到达第 3 节中显示的代码时,它会返回一条神秘消息:Command '['WinRAR.exe', (...)] 返回非零退出状态 9。

无法进一步了解根本原因以及“退出状态 9”背后的原因。

在检查子流程文档以查找此“退出状态 9”的任何可能的根本原因后,我查看了 Stack,最后,我用谷歌搜索了它。我没有什么可以用来了解要调查的内容。

如果 FileName1 不在 Dropbox_archives 中: print("Compressing "+FileName1) try: subprocess.check_call(["WinRAR.exe", "U", "-ibck", "-r", "-s", "-t" , "-inul", "-m5", "-rr3P", "-y", "-pPwd00", "F:\10.Summaries\"+FileName1, "C:\Users\JCF\Dropbox\*. *"])

    except subprocess.CalledProcessError as err:
        print(err)

此代码应创建一个名称为 (FileName1) 的 winrar 存档,其中包含存档的创建日期。

由于 try / except 包装器,我在命令提示符窗口中收到消息。

标签: python-3.xsubprocess

解决方案


WinRAR 返回错误代码。它与您的 Python 解决方案没有直接关系(但可以间接相关)。在搜索代码的含义时,可以发现:

9   File create error.

(可在https://chmlib.com/WinRAR/html/HELPExitCodes.htm找到。)尝试从命令行运行完全相同的 WindRAR 命令。原因可能更明显。


推荐阅读