コマンドライン引数: 準備された 7z GUI が表示されるように、コンテキスト メニューのように 7zFM.exe を起動するにはどうすればよいでしょうか?

コマンドライン引数: 準備された 7z GUI が表示されるように、コンテキスト メニューのように 7zFM.exe を起動するにはどうすればよいでしょうか?

7z ファイル マネージャー (7zFM.exe) はコンテキスト メニューから起動できます。

7z ファイル マネージャー Windows コンテキスト メニュー エントリ

これにより、アーカイブ用にすでに準備された 7z GUI が便利に生成されます。アーカイブ名を変更し、パスワードを追加するだけで済みます。

アーカイブ用に準備された 7z ファイル マネージャー GUI

これは可能です。しかし、どうやってコマンドライン経由で実現できますか?

Web とレジストリで検索しましたが、何も見つかりませんでした。レジストリに 7z が存在しないように見えるのに、どうして 7z コンテキスト メニュー エントリが存在するのか疑問に思うほどです。

私の目標は、複数のプロジェクト (DTP など) 用に、増分アーカイブ名カウンター (例: 「0004」) を持つアーカイブを作成する、毎日の複数のバックアップ タスクを大幅に軽減することです。このような詳細がコマンド ラインで定義できる場合は、バッチ ファイルや、GUI で準備する適切なアーカイブ名 (カウンターを参照) を導出する小さな Java プログラムを使用してこれを実行します。

答え1

すべてがこのように簡単だったらいいのですが。 - タスク マネージャーの [詳細] タブでそれがわかります。構文は次のとおりです。

"C:\Program Files\7-Zip\7zG.exe" a -ad -saa -- "D:\eula.2052.txt"

この部分は省略しました-i#7zMap7448:36:7zEvent28001が、どうやらこれはプログラムによって何らかの形で評価される可能性のある即時のユーザーアクションを指しているようですが、コマンドラインの起動にはそのようなアクションがないため、スクリーンショットのエラーが表示されます。

スクリーンショットにも記載されています:ちゃんとした余分な引数のない呼び出しです。

幸運にも、私はすぐにその方法をすべて理解することができました希望のファイル名を指定して:

"C:\Program Files\7-Zip\7zG.exe" a -ad -saa "BLABLABLA" -- "D:\eula.2052.txt"

これにより、希望のファイル名に「.7z」が追加されたウィンドウが開き、ダイアログを確認すると、希望のファイルがファイル名のアーカイブに圧縮されます。違うファイルから。

ここに画像の説明を入力してください

ちなみに、作成日などの保存:

「tc ta tm」(作成、アクセス、変更)を手動で追加すると、これら 3 つの日付はすべてアーカイブの一部となり、解凍時に復元され、次回のために GUI がこれらのパラメータを記憶します。

これはおそらく最も見落とされがちなことです。したがって...大胆です!

(この動作がデフォルトではないのはおかしいと思います。結局のところ、現在のファイル/フォルダーの実際のコピーを 1:1 で将来に転送したいので、日付もその一部になるはずです。)

ここに画像の説明を入力してください

関連情報