2012-07-24 165 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在一個頁面上,以防別人正在尋找相同的效果。