2016-12-02 110 views
0

我遇到問題。由* .bat壓縮文件,但要保留舊文件夾結構

foo -- ab 
    | |--bx -- bc 
    | |  |_xr  
    | |--xb 
    | 
    |--bb -- bc 
    |  |- bx -- bc 
    |  |- xr 

創建文件zip_files.bat目錄裏面

IF EXIST ab.zip del /F ab.zip 
IF EXIST bb.zip del /F bb.zip 
jar -cMf ab.zip ab 
jar -cMf bb.zip bb 

當前,我可以壓縮文件ab.zip,然後解壓ab.zip,它是這樣的(它不喜歡原始文件夾結構):

ab -- ab -- bc 
     |_bx -- bc 
     |  |_xr  
     |_xb 

我想有文件ab.zip,解壓縮文件時ab.zip有:

bx -- bc 
    |_xr  
xb 

我也想有文件bb.zip

+1

什麼工具,你用解壓? – lit

回答

0

可以使用-C選項:

-C dir:在創建(c)或更新(U)的JAR文件,此選項暫時更改目錄,同時處理由文件操作數指定的文件。

根據您目前的jar -cMf ab.zip ab你得到包含以下項目的zip文件:

ab/ 
ab/xb/ 
ab/bx/ 
ab/bx/_xr/ 
ab/bx/bc/ 

如果使用jar -cMf ab.zip -C ab .,您可以:

xb/ 
bx/ 
bx/_xr/ 
bx/bc/ 

然後檢查你使用的工具解壓縮提取它們在正確的文件夾中,而不是創建一個子文件夾(看起來你提取ab.zipab,創建兩個ab folders)。

0

文件夾裏面放文件zip_files.bat具有內容:

cd ab 
jar -cMf ../ab.zip bx xb 
cd .. 

cd bb 
jar -cMf ../bb.zip bc bx xr 
cd ..