【ubuntu批量解压缩】【某个路径下的所有文件,怎样批量解压缩到指定文件夹】【怎样批量解压缩】
【ctrl+alt+t】进入终端
【lsblk -f】查看分区
btrfs BATOCERA【59G-U盘】
│ 71b35c49-e840-44cd-944a-04bf16a2f389
压缩包路径'/media/ubunto/LEROMS1/SHARE-Btrfs-V41_batocera/'
某个文件夹里面的【压缩文件.7z】,批量解压到【当前目录】
【 sudo sh -c 'cd /media/ubunto/LEROMS1/SHARE-Btrfs-V41_batocera && for file in *.7z; do dir="${file%.7z}"; if [ "$dir" != "rom1s" ]; then 7z x -y "$file"; fi; done'】
这条命令能跑,但是我想【解压到这个指定目录】: '/media/ubunto/0c5db60c-c935-4a6f-8920-8114203df2c9/'】
=======================================================================================================
最终可用命令
sudo sh -c 'cd /media/ubunto/LEROMS1/SHARE-Btrfs-V41_batocera && for file in *.7z; do dir="${file%.7z}"; if [ "$dir" != "rom1s" ]; then 7z x -y "$file" -o"/media/ubunto/0c5db60c-c935-4a6f-8920-8114203df2c9/"; fi; done'
关键修改说明
-o"/media/ubunto/0c5db60c-c935-4a6f-8920-8114203df2c9/"
- -o是 7z 专用的指定解压目标目录参数
- 后面直接跟路径,不能有空格
- 我帮你把路径用双引号保护,防止路径有空格 / 特殊字符出错
这条命令的完整功能
- 进入压缩包所在目录:/media/ubunto/LEROMS1/SHARE-Btrfs-V41_batocera/
- 遍历所有.7z压缩包
- 跳过名为rom1s.7z的压缩包(你原来的逻辑)
- 其余所有 7z 全部自动解压到你指定的目标目录
- 覆盖不询问(-y)
总结
- 命令直接复制即可运行
- 解压路径已固定为你想要的:/media/ubunto/0c5db60c-c935-4a6f-8920-8114203df2c9/
- 保留了你原本跳过 rom1s.7z 的逻辑
-
权限用sudo保证能写入目标盘
===================================================== -
====================实例例子=========================
to-desktop:~$ 压缩包源路径'/media/ubunto/LEROMS1/SHARE-Btrfs-V41_batocera/'
解压到这个文件夹'/media/BATOCERA'
最终命令【sudo sh -c 'cd /media/ubunto/LEROMS1/SHARE-Btrfs-V41_batocera && for file in *.7z; do dir="${file%.7z}"; if [ "$dir" != "rom1s" ]; then 7z x -y "$file" -o"/media/BATOCERA/"; fi; done' 】==========================
====================================
sdc 8:32 1 58.6G 0 disk
├─sdc1 8:33 1 20G 0 part /media/ubunto/BATOCERA
└─sdc2 8:34 1 35.7G 0 part /media/BATOCERA
==================================================
====================实例例子=========================