我有这个使用 rar 的 bash 命令
for folder in */; do rar a -m0 -r "${folder%/}.rar" "$folder"; done
我从https://stackoverflow.com/questions/25299584/create-a-rar-archive-for-each-subdirectory-in-a-directory-centos-ubuntu 了解到,它会为目录的每个子目录创建一个 rar 存档. 但是该链接涵盖了ubuntu。我想知道如何在 Windows 中运行它。
我知道 Gnuwin32 充满了旧版本的程序,而且无论如何都没有 rar。
Cygwin 较新,但在其软件包列表中不包含 rar.exe。
如果我尝试在 cygwin 中做 $rar,那么它会说
rar: command not found
我能做些什么?
有两种方法可以做到这一点。一种方法是在没有 cygwin 的情况下从 cmd.exe 运行 rar.exe。但是随后您需要调整命令以使用批处理而不是 bash 运行。
另一种方法是从 cygwin 运行 rar.exe。然后你可以直接使用你的 bash 命令。我们会尝试这条路线
您可以从 cygwin 中运行外部可执行文件。
你可以很容易地获得 Windows 的 rar 命令,它最终会出现在
C:\Program Files\WinRAR\Rar.exe
从提到 rarlab.com/rar/winrar-x64-602.exe 的 rarlab.com/download.htm 安装 winrar
然后你必须知道如何将目录添加到 shell 的路径变量中,这样你就可以从任何目录运行 rar.exe(在你的情况下,因为使用 cygwin,这就是将目录添加到路径变量的 bash 方式)
如果你看
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\WinRAR
的话,它会有一本关于如何使用命令行 rar.exe 的手册所以你现在看到你有 rar 运行。
现在你的命令将和这里一样好运行
https://stackoverflow.com/questions/25299584/create-a-rar-archive-for-each-subdirectory-in-a-directory-centos-ubuntu
正如用户所展示的,已经消除了回声。并设置cygwin bash的路径,安装winrar,包括命令行rar.exe,然后运行命令。