Qt用Zip壓縮資料夾的一些坑

2021-08-14 14:05:39 字數 973 閱讀 8765

環境:

qt3.3.8

vs2005

qdir dir("/home/blinux/html");

if ( !dir.exists() )

qstring strzip = ""/home/blinux/html".zip";

m_pprocess->setworkingdirectory(dir); //設定工作空間

m_pprocess->addargument(qstring("zip"));

m_pprocess->addargument(qstring("-r"));

m_pprocess->addargument(qstring("-j"));

m_pprocess->addargument(strzip);

m_pprocess->addargument( qstring("*") );

int nn=0;

if(m_pprocess->start())

sleep(100);

}}else

在windows系統下執行正常,將/home/blinux/html壓縮為/home/blinux下的html.zip檔案;

在linux系統下未達到預期效果,在路徑/home/blinux/下並沒有生成html.zip檔案;

修改方法:

將m_pprocess->addargument( qstring("*") ); 改為m_pprocess->addargument( qstring("/home/blinux/html") );

也就是說將相對路徑「*」,改為絕對路徑「/home/blinux/html」,那麼m_pprocess->setworkingdirectory(dir); 也就沒有意義了,可以刪除。

-j 引數的一點說明:

zip -r -j /home/blinux/html.zip /home/blinux/html

java 壓縮資料夾 zip

purpose 壓縮資料夾 author hermanwang param srcdir 需要壓縮的檔案的路徑 param out zip輸出流 param keepdirstructure 是否保留原來的目錄結構,true 保留目錄結構 false 所有檔案跑到壓縮包根目錄下 注意 不保留目錄結構...

用ZipArchive壓縮資料夾

上次有篇部落格記錄了用ziparchive壓縮檔案,但是那段 有點問題,可以壓縮根目錄下的檔案,但是無法壓縮子目錄下的檔案 nsarray filelist filemanager contentsofdirectoryatpath sourcepath error nil 檔案列表 for nss...

用ZipArchive壓縮資料夾

上次有篇部落格記錄了用ziparchive壓縮檔案,但是那段 有點問題,可以壓縮根目錄下的檔案,但是無法壓縮子目錄下的檔案 nsarray filelist filemanager contentsofdirectoryatpath sourcepath error nil 檔案列表 for nss...