我需要抓取文件夹中的所有文件,然后将其放入压缩文件档案。
这是我目前的方法:
"C:\Program Files\WinRAR\Rar.exe" a -r -md2m -s -m5 -ma4 -t ..\Releases\vCommands.rar bin\
... 在哪里垃圾桶是我的文件夹。我试过了这也是如此,即使它是针对另一个程序,结果也是相同的。
为了清楚起见,这里有一张图片:
左上角,在.rar文件,有垃圾桶包含所有文件的目录。
在右下角,.7z文件,所有这些文件都位于档案根目录中。
我需要把所有这些文件都塞进.rar存档根目录,而不是文件夹,而不必在其中执行批处理文件垃圾桶文件夹。
答案1
在阅读了手册第三遍之后,我找到了-ep
开关。
-ep Exclude paths from names. This switch enables files to be added
to an archive without including the path information. This
could, of course, result in multiple files existing in the
archive with the same name.
我首先误解了这一点,因为据我所知,路径是指目录和文件名,认为它会将文件名称完全删除。
(这种信念源于我对其他存档格式的经验)
然而,小路,作者的意思是目录。
需要注意的是,它将删除所有目录信息(甚至子目录),从而使文件结构扁平化。
答案2
将 rar.exe 添加到 Windows 中的 Path 变量中,以方便使用。
输入要存档的目录。本例中为 TestDirectory
\TestDirectory>rar a -m1 -vn -r ..\somber.rar
或
rar a -m1 -vn -r somber.rar
答案3
我不相信这可以通过命令行开关来完成。
您需要做的是运行目录命令并将结果输出到文本文件。然后通过 winrar 从文本文件中提取这些结果并将它们分别添加到存档中。
使用它将文件列表输出到文件
dir /s /b >> filelist.txt
将它们压缩。
"C:\Program Files\WinRAR\Rar.exe" a -r -md2m -s -m5 -ma4 -t ..\Releases\vCommands.rar @filelist.txt
我还没有测试过,但我相信这是正确的方法。