从 CLI 使用 WinRAR.exe 时,如何告诉它“在作业完成之前不要返回命令提示符”

从 CLI 使用 WinRAR.exe 时,如何告诉它“在作业完成之前不要返回命令提示符”

我正在使用 WinRAR 在 Windows 的 CLI 中将一个大文件夹压缩成 rar,如下所示:

winrar.exe a $output_path $input_path

它可以工作,但我注意到命令提示符会立即返回,而作业会在后台继续,直到完成,这需要很长时间。stdout 中也没有进度指示器(7z.exe 有)。

我试过了有或无(在后台运行)开关-ibck,CLI 行为相同 - 命令提示符立即返回。唯一的区别是,当不使用时-ibck,会弹出一个小的 WinRAR GUI 窗口。

我正在做的作业是 powershell 脚本中更大管道的一部分。后续步骤应该运行winrar 已经完成,不是并行的。我该如何实现?

答案1

在 winrar.exe 文件夹中,还有一个 rar.exe。这是命令行界面 (CLI) 版本,您应该使用它来代替 winrar。

它不会显示 GUI,而是使用命令提示符窗口执行所有操作。

在命令运行时,它将等待归档完成后再执行下一条指令。

rar.exe 也可以在 Powershell 中使用。下面是使用您的语法的示例:.\rar.exe a $inputpath $outputpath

答案2

如果由于某种原因,您不想使用 CLI 版本 rar.exe,您可以使用 启动 winrar(或任何其他 Windows GUI 程序)start /wait winrar.exe

相关内容