(C:\Program Files\WinRAR\rar.exe)
,我尝试压缩一个单独的文件夹(C:\Users\%username%\desktop\someFolder)
并可能更改所创建的.zip文件的名称。 我尝试了“rar.exe a”“C:\Users\%username%\desktop\someFile
”,它可以工作,但它会压缩另一个文件夹(而不是我放置的那个)。我做错了什么?
你能否提供解释(并告诉我递归是什么,因为我不熟悉它)?
谢谢
(C:\Program Files\WinRAR\rar.exe)
,我尝试压缩一个单独的文件夹(C:\Users\%username%\desktop\someFolder)
并可能更改所创建的.zip文件的名称。 我尝试了“rar.exe a”“C:\Users\%username%\desktop\someFile
”,它可以工作,但它会压缩另一个文件夹(而不是我放置的那个)。使用任意一个
"%ProgramFiles%\WinRAR\Rar.exe" a -ep1 -idq -r -y "Name of RAR file with path" "%UserProfile%\Desktop\someFolder"
或者"%ProgramFiles%\WinRAR\Rar.exe" a -ep1 -idq -r -y "Name of RAR file with path" "%UserProfile%\Desktop\someFolder\"
在命令a
(添加到归档文件)和开关后,创建一个指定名称的RAR归档文件:
-idq
... 启用安静模式,仅显示错误消息,-ep1
... 排除基础目录以外的指定文件/文件夹名称,-r
... 递归归档/压缩所有文件和子目录,-y
... 在所有询问中都假定为“是”。使用第一条命令行不带反斜杠结尾,将文件夹someFolder
包括在归档文件中。
使用第二条命令行带有反斜杠结尾,文件夹someFolder
不包括在归档文件中,只有该文件夹的文件和子目录。
换句话说,选项-ep1
排除了指定文件或文件夹名称中最后一个反斜杠之前的路径内容,然后将其添加到归档文件中,这就解释了在命令行上指定不带或带反斜杠的文件夹之间的区别。
递归表示不仅添加指定文件夹中的文件,还要添加所有子文件夹及其文件。
因此,RAR必须首先在指定的文件夹中搜索子文件夹。如果找到一个子文件夹,则进入该子文件夹并再次搜索子文件夹。如果找到另一个子文件夹,则进入该子文件夹并继续搜索子文件夹。如果没有找到,则将该子文件夹中的文件添加到归档文件中,或只添加文件夹名称(如果该子文件夹为空)。然后返回父文件夹并继续搜索下一个子文件夹。如果没有找到,则添加此子文件夹的文件。然后返回父文件夹并继续搜索子文件夹,以此类推。
注意:
控制台版本的Rar.exe
仅支持创建/提取RAR归档文件。它不支持ZIP归档文件。这在文本文件Rar.txt
中明确写明,该文件是WinRAR控制台版本的手册。需要使用WinRAR.exe
代替RAR.exe
来创建ZIP归档文件。
示例1:
"%ProgramFiles%\WinRAR\WinRAR.exe" a -afzip -ep1 -ibck -r -y "Name of ZIP file with path" "%UserProfile%\Desktop\someFolder"
例子2:
"%ProgramFiles%\WinRAR\WinRAR.exe" a -afzip -ep1 -ibck -r -y "Name of ZIP file with path" "%UserProfile%\Desktop\someFolder\"
GUI版本的WinRAR.exe
和控制台版本的Rar.exe
有很多相同的命令和选项,但是它们之间存在一些差异,如下所示:-afzip
只支持WinRAR.exe
,而在后台运行WinRAR时使用-ibck
而不是-idq
,这意味着将其最小化到系统托盘而不是前台显示进度窗口。
要获取有关创建WinRAR.exe
命令行的帮助,请启动WinRAR,单击最后一个主菜单帮助上的第一个菜单项帮助主题,选择帮助选项卡目录,展开列表项命令行模式并利用以下帮助页面:
建议按照所列顺序阅读帮助页面或从上到下阅读文本文件Rar.txt
,以创建可在批处理文件或快捷方式文件(*.lnk)中使用的WinRAR.exe
或Rar.exe
命令行。
Rar.txt
并阅读关于 退出值 的部分。WinRAR 的帮助文档还包含页面 __WinRAR 退出代码列表__。因此,条件if errorlevel 1 goto NoneSuccessful
可以在下一条命令行上使用,以跳转到标签NoneSuccessful
,当退出值大于或等于1时。Rar.exe
和WinRAR.exe
的退出值被分配给环境变量ERRORLEVEL
,就像对任何执行的应用程序一样。 - Mofi