我有一个文件批处理将文件夹中的所有RAR文件解压缩到子文件夹中。
C:\test\sub-folder\file.rar -> C:\test\sub-folder\fileunrar但是,当我运行它时,该文件将解压缩到基本文件夹:
C:\test\sub-folder\file.rar -> C:\test\fileunrar这是我目前使用的批处理文件:
@ECHO OFF
cd C:\test
SET PATH=C:;C:\Program Files\WinRAR;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;%PATH%
FOR /f "delims=" %%d IN ('DIR /B') DO unRaR x -y -r -o- *.rar
EXIT为什么RAR档案被解压缩到基本文件夹?
发布于 2015-10-08 05:51:49
WinRAR的程序文件文件夹中有文本文件WinRAR,它是控制台版本Rar.exe的手册,包含UnRAR.exe支持的所有命令和开关,当然不能创建、更新或修复RAR档案。
在命令提示符窗口中运行,只运行UnRAR.exe,没有任何参数,结果显示了所有受支持的命令和开关,并提供了简要说明。
UnRAR、Rar和WinRAR支持在一个目录中解压缩多个*.rar文件,而不需要使用单个命令使用FOR循环的批处理文件。
对于解压缩多卷存档,只需在命令行上指定第一个RAR存档文件的文件名即可。UnRAR、Rar和WinRAR自动检测到该文件是多卷存档的第一个文件,并自动处理所有卷。
当然,UnRAR、Rar和WinRAR在解压包含多个单独存档以及一个或多个多卷存档的文件夹的所有*.rar文件时,不会多次处理每个*.rar文件。
对于用一行解压缩多个独立的*.rar档案,开关-ad可能有助于避免将所有独立档案的内容合并到同一个目录中。
要将目录C:\Temp中的所有C:\Temp档案解压缩到目录C:\Temp\Extracted,并将所有档案和文件夹从所有档案合并到此目录,并自动覆盖所有现有文件,请使用以下命令:
"%ProgramFiles%\WinRAR\UnRAR.exe" x -c- -cfg- -inul -o+ -y "C:\Temp\*.rar" "C:\Temp\Extracted\"可以通过以下方法提取C:\Temp中的所有C:\Temp文件,并将每个独立的归档文件提取到C:\Temp\Extracted中的一个带有归档文件名的子目录中:
"%ProgramFiles%\WinRAR\UnRAR.exe" x -ad -c- -cfg- -inul -o+ -y "C:\Temp\*.rar" "C:\Temp\Extracted\"开关-ad使输出文件夹有所不同。
C:\Temp\Extracted是否已经存在或还不存在用于解压缩档案并不重要。UnRAR、Rar和WinRAR在提取时总是创建整个目录树,以便输出文件夹(如果有必要的话)当然可以(写入权限、驱动器/共享存在,而不是写保护的)。
让我们看一个例子,使差别更加清楚。
在包含以下文件和文件夹的MyFirstArchive.rar和AnotherArchive.rar中有两个RAR档案:C:\Temp。
MyFirstArchive.rar
Attributes Size Date Time Name
----------- --------- -------- ----- ----
....... 6302 11-10-15 15:25 zzz.doc
....... 940942 26-08-15 08:07 yyy.txt
....... 1430688 06-10-14 05:49 Folder1\xxx.pdf
...D... 0 12-10-15 07:10 Folder1
----------- --------- -------- ----- ----
2377932 4AnotherArchive.rar
Attributes Size Date Time Name
----------- --------- -------- ----- ----
....... 28165 08-01-12 17:50 zzz.doc
....... 3743 29-10-14 07:18 Folder2\index.txt
....... 27141 29-10-14 07:18 Folder1\index.txt
....... 940942 26-08-15 08:07 index.txt
...D... 0 12-10-15 07:10 Folder1
...D... 0 12-10-15 07:12 Folder2
----------- --------- -------- ----- ----
999991 6第一个命令的结果是:
- **Folder2**
- index.txt
- index.txt
- yyy.txt
- zzz.doc
zzz.doc in AnotherArchive.rar在MyFirstArchive.rar中覆盖了zzz.doc。
带有开关-ad的第二个命令的结果是:
- yyy.txt
- zzz.doc
- **AnotherArchive**
- **Folder1**
- index.txt
- **Folder2**
- index.txt
- index.txt
- zzz.doc
将所述2档的文件夹和文件解压缩为具有存档文件名称的单独文件夹。
https://stackoverflow.com/questions/33003169
复制相似问题