我在Windows中具有以下文件夹结构:
C:\test
|
\----1
| |
| \----one.rar
|
\----2
| |
| \----two.rar
|
\----3
| |
| \----three.rar
|
\----4
| |
| \----four.rar
|
\----5
|
\----five.rar
里面C:\test
有五个不同的文件夹。它们每个都包含一个rar文件。我想通过命令行提取所有这些。
因此,我的方法如下:rar.exe
在C:\test
文件夹内使用参数运行:
rar x -r *
这给了我所有文件都提取到的结果C:\test
:
C:\test
|
\----1 (folder)
\----2 (folder)
\----3 (folder)
\----4 (folder)
\----5 (folder)
\----1.txt
\----2.txt
\----3.txt
\----4.txt
\----5.txt
但我希望将每个文件与其关联的rar文件提取到相同的文件夹中。例如,1.txt
应位于中,C:\test\1
而不应位于中C:\test
。
我怎样才能做到这一点?
答案是以下几行:
dir -Recurse | % {$_.FullName} | Split-Path | Get-Unique | % {cd $_ ; & rar x *.rar}
将文件夹路径“ C:\ Program Files \ WinRAR”添加到Windows路径变量是必要的,否则将找不到rar命令。如果您使用的是32位版本的Winrar,则文件夹路径为:“ C:\ Program Files(x86)\ Winrar”。
如果您不想将路径添加到变量,则必须运行以下命令:
dir -Recurse | % {$_.FullName} | Split-Path | Get-Unique | % {cd $_ ; & "C:\Program Files\WinRAR\Rar.exe" x *.rar}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句