7zipは複数のファイルを自分の名前に圧縮します。

7zipは複数のファイルを自分の名前に圧縮します。

7zipユーティリティを使用してアーカイブ/圧縮したいファイルがたくさんあります。すべて同じフォルダにあります。各アーカイブは、アーカイブされるファイルと同じ名前を持つ必要があります。

たとえば、ファイルがある場合は、1.txtアーカイブも2.txt必要です。3.txt1.7z2.7z

私はいくつかのバッチスクリプトを見つけましたが、bashスクリプトが必要です。

以下を使用してすべてのファイルを一覧表示できます。

for i in *.txt; do echo $i; done

しかし、7zipコマンドでは動作させることはできません。7z a 'archive.7z' 'file.txt'

ベストアンサー1

for i in *.txt; do 7z a "${i%%.*}.7z" "$i"; done

このコマンドはうまくいくようです。ファイル名にスペースが含まれている場合は、区切り文字を改行文字に設定してみてください。私はこのコマンドを使ってそれを達成しましたIFS=$'\n'

${i%%.*}私の場合、この機能は拡張機能を削除するために使用されました.txt。アーカイブがこのように見えるようにするには、それを.txt.7z使用すると$i.7z機能します。

おすすめ記事