apt install 7zip
#!/bin/bash

# 定义压缩包所在的目录
DIR="/root/ftp"

# 检查 7zz 是否安装
if ! command -v 7zz &> /dev/null; then
    echo "7zz 未安装,请先安装 p7zip-full 或相关工具。"
    exit 1
fi

# 遍历目录中的所有 .7z 文件
for FILE in "$DIR"/*.7z; do
    # 检查是否存在匹配的文件
    if [[ ! -e "$FILE" ]]; then
        echo "没有找到任何 .7z 文件。"
        exit 0
    fi

    echo "正在解压:$FILE"
    # 使用 7zz 解压文件,-y 表示强制覆盖
    7zz x "$FILE" -o"$DIR" -y

    if [[ $? -eq 0 ]]; then
        echo "解压成功,删除源文件:$FILE"
        rm -f "$FILE"
    else
        echo "解压失败:$FILE"
    fi
done

echo "所有操作完成!"

不带目录

#!/bin/bash

# 定义压缩包所在的目录
DIR="/root/ftp"

# 检查 7zz 是否安装
if ! command -v 7zz &> /dev/null; then
    echo "7zz 未安装,请先安装 p7zip-full 或相关工具。"
    exit 1
fi

# 遍历目录中的所有 .7z 文件
for FILE in "$DIR"/*.7z; do
    # 检查是否存在匹配的文件
    if [[ ! -e "$FILE" ]]; then
        echo "没有找到任何 .7z 文件。"
        exit 0
    fi

    echo "正在解压:$FILE"
    # 使用 7zz 解压文件,-y 表示强制覆盖,-aos 防止生成文件夹
    7zz x "$FILE" -y -o"$DIR"

    if [[ $? -eq 0 ]]; then
        echo "解压成功,删除源文件:$FILE"
        rm -f "$FILE"
    else
        echo "解压失败:$FILE"
    fi
done

echo "所有操作完成!"