7 zip を使用して 1 つのコマンドで複数のファイルを zip に渡す方法は?

7 zip を使用して 1 つのコマンドで複数のファイルを zip に渡す方法は?

以下のファイルが含まれるフォルダーが 1 つあります。

destiny.txt
destiny1.txt
destiny2.txt
destiny3.txt
destiny4.txt
destiny5.txt
destiny6.txt
destiny7.txt

このうち、destiny1.txt、destiny4.txt、destiny6.txt は batch1 からのものです。

7zipファイルを圧縮するために使用しています。

これら 3 つのファイルを 1 つのステップで渡して作成できますかDestinyTest.zip?

出来ますか?

答え1

これら 3 つのファイルを 1 つのステップで渡して作成できますかDestinyTest.zip?

7zip のコマンドライン バージョンを使用できます7z

コマンドラインから:

7z a -tzip DestinyTest.zip destiny1.txt destiny4.txt destiny6.txt
  • a- ファイルをアーカイブに追加します。
  • -tzip- アーカイブの種類を指定します (zipアーカイブを作成しています)。

参考文献

答え2

zipを作成するためのファイルをリストしたファイルがある場合、例:

アーカイブするファイルのリストを、各行に 1 つずつ作成します。これは DOS 時代の @ リストであり、複数のプログラムが各行に対してこれを実行します。

このようなファイルは を使用して作成しdir /b destin*.* > zipme.lst、ASCII エディター (メモ帳または edit) で行を削除することができます。

type zipme.lst destiny1.txt destiny4.txt destiny6.txt 7za a -tzip DestinyTest.zip @zipme.lst

これにより、zipme.lst が検索され、そこにリストされているすべてのファイルが追加されます。コマンドラインよりも長くなる可能性があり、ある程度制御できます。

答え3

私も同じような問題を抱えていて、バッチスクリプト方法は次のとおりです。

以下の例では、スクリプトは「cell_cfg」および「slave_cfg」で始まるすべての .csv ファイルを検索し、それらを収集して、「zip」というサブディレクトリに保存される「cfg.7z」という 1 つのファイルに圧縮します。

@ECHO OFF
setlocal enableDelayedExpansion
mkdir zip
ECHO collecting filenames...
set filenames="C:\Program Files\7-Zip\7z.exe" a -t7z "zip/cfg.7z
FOR %%i IN (cell_cfg*.csv) DO (
    ECHO "%%i" | FIND /I "zip_cfg.bat" 1>NUL) || (
        SET filenames=!filenames!" "%%i
    )
)
FOR %%i IN (slave_cfg*.csv) DO (
    ECHO "%%i" | FIND /I "zip_cfg.bat" 1>NUL) || (
        SET filenames=!filenames!" "%%i
    )
)
set filenames=%filenames%"
%filenames%

(7z.exe のパスとファイル/フォルダ名を調整します。.7z ではなく .zip が必要な場合は、次の行の名前を変更します。

set filenames="C:\Program Files\7-Zip\7z.exe" a -t7z "zip/cfg.7z

の中へ

set filenames="C:\Program Files\7-Zip\7z.exe" a -tzip "zip/cfg.zip

これを「zip_cfg.bat」として保存し、圧縮したいファイルがあるフォルダに配置します。その後、コマンド ラインで呼び出すことができます。まず、ファイルがあるフォルダに移動し、次のように呼び出します。

zip_cfg.bat

フォルダー内のすべてのファイル ("*") を zip 圧縮する場合、「FIND /I "zip_cfg.bat" 1>NUL」の部分により、スクリプトがバッチ ファイル自体を zip 圧縮するのを停止します。

これが誰かの役に立つことを願います... :)

関連情報