壓縮不同資料夾中的檔案時如何保持資料夾完整性

壓縮不同資料夾中的檔案時如何保持資料夾完整性

我有一個批次文件,每天在我們的專用伺服器上運行並壓縮文件。

這是批次檔的一部分:

%SUBDIR%7z a -tzip %fullname%  %datapath%\*.txt >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\spoolq.q >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\vblib\shared\settings.cfg >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\sssusers.d >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\#library\*prt.cfg >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\#library\printer.txt >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\#library\netuse.text >>%LOGFILE%
%SUBDIR%7z a -tzip %fullname%  %datapath%\*.cfg >>%LOGFILE%

批次檔正在取得我想要的文件,但它們都位於同一目錄中,而不是位於原始目錄中。

7z x filename.zip在提取文件時嘗試過,但沒有給我任何不同的結果。

壓縮時是否必須指定開關?

謝謝您的幫忙!

編輯

我剛剛意識到我正在告訴 7z 將該文件按原樣放入存檔中。我意識到現在我的問題確實是,有沒有辦法在壓縮檔案時保留原始資料夾結構?

答案1

它非常弱,但您必須使用沒有驅動器或前導反斜線的相對路徑。
在你的例子中%datapath%需要有"users\johnny\filespec"而不是"c:\users\filespec".

Cd \
7z a –tzip myzip.zip users\johnny\tmp\tmp2\TMP2.TXT

將儲存資料夾結構。

然後,從您壓縮它的相同資料夾中,您可以使用 解壓縮它。 ..

7z x myzip.zip

7z 會將其與資料夾結構一起放回去。

請注意,您必須從壓縮的相同資料夾中解壓縮,因為這些資料夾將在您目前的位置下建立。

相關內容