2012-07-24 168 views

回答

6

应该不会有太大的硬盘(未经测试!):

#!/bin/bash 

for zip in *.zip ; do 
    dir=${zip%.zip} 
    mkdir "$dir" 
    unzip -rd "$dir" "$zip" 
done 
1

您可以使用UNIX解压工具,如下所示:

#!/bin/bash 

    for f in *.zip 
    do 
     echo "unzipping $f" 
     unzip $f -d ${f%.*} 
    done 

运行在目录中,该脚本将解压所有的zip文件在你想要的时候,说a.zip,b.zip将分别解压到目录a和b。

1

This previous post帮助我实现了同样的功能;我甚至创建一个脚本来帮助自己记住我的电脑上:

$ ls *.zip|awk -F'.zip' '{print "unzip "$0" -d "$1}'|sh 

同样,你可以创建一个alias执行bash功能:

$ alias munzip='for f in *.zip; do unzip -d "${f%*.zip}" "$f"; done' 

和干运行,预先测试:

$ alias testmunzip='for f in *.zip; do echo unzip -d "${f%*.zip}" "$f"; done' 

只是认为这可能有助于保持这个相关的inf o在一个页面上,以防别人正在寻找相同的效果。