使用7z解压分卷rar时如何去掉输出目录的.part1后缀
解决方案
方法1:直接手动指定目标目录(最通用简便)
直接在-o参数后写你期望的目录名即可,不需要使用*通配符:
7z x -o./test test.part1.rar
这个命令会直接把分卷内容解压到当前目录下的test文件夹中,完全符合需求。
方法2:批量自动处理(适合多组分卷批量解压场景)
如果需要批量处理大量分卷压缩包,不想逐个手动输入目录名,可以根据你使用的操作系统选择对应命令,实现自动去除.partN后缀生成目录:
Linux/macOS(Bash/Zsh环境)
单包处理命令:
批量处理所有7z x -o"./$(basename test.part1.rar .part1.rar)" test.part1.rar.part1.rar后缀分卷的命令:
命令中for file in *.part1.rar; do 7z x -o"./$(basename "$file" .part1.rar)" "$file" donebasename工具会自动去除文件名的.part1.rar后缀,生成对应的纯文件名作为输出目录。Windows 环境
CMD 命令行:
单包处理:set "rarfile=test.part1.rar" 7z x -o".\%rarfile:.part1.rar=%" %rarfile%PowerShell:
单包处理:$file = "test.part1.rar" 7z x -o".\$($file -replace '\.part1\.rar$','')" $file
原命令问题原因
你之前使用-o*参数得到test.part1目录,是因为7-Zip会将*替换为你传入的第一个分卷文件的主文件名(即去掉.rar后缀后的名称),test.part1.rar去掉.rar后就是test.part1,所以才会生成这个名称的目录。
内容的提问来源于stack exchange,提问作者user13425180
相关产品推荐
相关产品推荐

