2015-06-28 24 views
0

我有一個代碼歸檔ZIP文件到另一個ZIP文件,使用命令如下:命令WinRAR的對特定文件

String rootftp = "C:\\ROOT_DIR_PUSHFILE\\"; 
    String tampungString = "AAA\\PFILE\\AAA20140531.zip"; 
    String password = "testing"; 

    String command = "cmd.exe " 
      + "/C" 
      + " cd C:\\Program Files\\WinRAR \n" 
      +" && rar a -n "+rootftp.trim()+tampungString+".zip"+" "+ rootftp.trim()+tampungString + " -p"+password.trim(); 
    System.out.println(command); 

    File file = new File(rootftp.trim()+tampungString); 
     try { 
      Runtime.getRuntime().exec(command); 
      file.delete(); 
     } catch (Exception e) { 
      System.out.println(e); 
      e.printStackTrace(); 
     } 

但結果是:

enter image description here

當我試着歸檔一個特定的文件,結果總是從根目錄歸檔,而不僅僅是特定的文件,比如AAA20140531.zip文件,你能解釋一下,爲什麼?以及如何解決它?

+0

你知道家用機版'Rar.exe'支持只壓縮和提取RAR檔案?因此,即使在命令行中指定'.zip',創建的存檔文件仍然是RAR存檔而不是ZIP存檔。在WinRAR的程序文件文件夾中讀取文件'Rar.txt'頂部的介紹。只有GUI版本的WinRAR.exe支持ZIP壓縮/提取。 – Mofi

回答

1

使用該命令沒有父文件夾中創建.rar

rar a -ep1 c:\ROOT_DIR_PUSHFILE\AAA\PFILE\AAA20140531.zip c:\ROOT_DIR_PUSHFILE\AAA\PFILE\ -p123456 

-ep1開關,使得結果排除從路徑的基本文件夾,

+0

非常感謝。< – user3505775

+0

如果你有你想要的結果 – BzH

+0

對不起,我忘記了,你願意接受這個問題嗎?感謝你的回答 – user3505775