我正在尝试使用命令行中的7-Zip解压缩几个.gz文件。我的文件在这样的目录中:
Desktop/copyto/1/
file1.gz
file2.gz
Desktop/copyto/2/
file1.gz
file2.gz
file3.gz
我想以递归方式将所有.gz文件解压缩到每个原始位置,并在完成解压缩时删除剩余的.gz文件。
我没试过以下命令:
7z.exe x C:\Users\MYUSERNAME\Desktop\copyto\*\*.gz -r
我认为这会递归提取。我收到错误:
Processing archive: C:\Users\MYUSERNAME\Desktop\copyto\1\file1.gz
Can not open output file file1
Sub items Errors: 1
知道发生了什么事吗?
答案 0 :(得分:0)
根据您的命令行,我的猜测是您当前的工作目录不是您的主目录(C:\Users\MYUSERNAME
)或公共用户目录(C:\Users\Public
)的任何子目录,这意味着您可能没有访问权限。例如,如果我从C:\Program Files\7-Zip
运行以下内容,则会出现与7-Zip文件相同的错误:
C:\Program Files\7-Zip>7z x C:\Users\MYUSERNAME\Desktop\migrated\annex_k.7z -r
7-Zip [64] 9.38 beta Copyright (c) 1999-2014 Igor Pavlov 2015-01-03
Processing archive: C:\Users\MYUSERNAME\Desktop\migrated\annex_k.7z
ERROR: Can not open output file : .\annex_k\include\annex_k\errno.h
Skipping annex_k\include\annex_k\errno.h
ERROR: Can not open output file : .\annex_k\include\annex_k\handler.h
Skipping annex_k\include\annex_k\handler.h
...
Extracting annex_k\include\annex_k
Extracting annex_k\include
Extracting annex_k
Sub items Errors: 10
Archives with Errors: 1
Sub items Errors: 10
Kernel Time = 0.031 = 39%
User Time = 0.031 = 39%
Process Time = 0.062 = 78% Virtual Memory = 3 MB
Global Time = 0.080 = 100% Physical Memory = 4 MB
请注意,甚至没有创建annex_k
目录:
C:\Program Files\7-Zip>dir /b
7-zip.chm
7-zip.dll
7-zip32.dll
7z.dll
7z.exe
7z.sfx
7zCon.sfx
7zFM.exe
7zG.exe
descript.ion
History.txt
Lang
License.txt
readme.txt
解决方案是提取到您具有访问权限的目录。您可以使用-oC:\Users\MYUSERNAME\Desktop\copyto\1
之类的内容指定输出目录。如果您绝对需要在通常无法进行写访问的目录中执行此操作,则需要以管理员身份运行命令提示符并照常提取文件。