800x600ピクセルに切り抜かなければならないたくさんの写真を受け取りました。それは簡単にできましたが、今は家族がすべてを見ることができるようにアップロードする必要があります。
実はこれは写真で500MBです。私は、それぞれがほぼ同量の画像を含む個別のフォルダを単純に圧縮することにしました。この方法で毎日カップルをアップロードできます。これを手動で行うのは非常に長くて大変な仕事です。 7-Zipで各フォルダーを個別に処理する方法はあるのでしょうか。
それを行うにはバッチファイルが必要だと思いますが、私はそれが得意ではありません。すべてを1つのフォルダーに入れました。さまざまなサブフォルダで、画像が配置されています。必要なのは、そのフォルダーの内容を圧縮することです。フォルダーと一緒にZip圧縮できるかどうかはわかりません。 PHPにはZipモジュールがあるので、これを使ったことがないので、Zipのコンテンツがを含むフォルダであるという事実を処理できるかどうかわかりませんアイテムだけでなく、アイテム。
作業ディレクトリがMy Pictures
ディレクトリであるコマンドプロンプトから実行すると、このコマンドは各サブディレクトリの内容のZipファイルを作成し、すべてのZipファイルをMy Pictures
ディレクトリに残します。
編集:名前にスペースを含むディレクトリを許可するために必要な引用符を追加しました。
for /D %%d in (*.*) do 7z a -tzip "%%d.Zip" "%%d"
Also:次のバージョンでは、Zipファイル内のサブディレクトリではなく、ルートにファイルが配置されます。
for /D %%d in (*.*) do 7z a -tzip "%%d.Zip" ".\%%d\*"
Windows 7以降
for /D %d in (*.*) do 7z a -tzip "%d.Zip" "%d"
または
for /D %d in (*.*) do 7z a -tzip "%d.Zip" ".\%d\*"
コマンドラインを機能させることができず、代わりにWinRARをダウンロードしました mtone は正しかった-WinRARには、複数のフォルダーを個別のZipファイルにZipするオプションがあります。
例えば。 C:\Files\Fables 01
からC:\Files\Fables 01.Zip
、C:\Files\Fables 02
からC:\Files\Fables 02.Zip
。
WinRARを使用して、Zip処理するフォルダを含むフォルダを開き、次の手順に従います。
他に修正したい設定がある場合は、[OK]をクリックして、複数のフォルダの複数のZipファイルをブームにします。これは、コマンドライン7Zipよりもはるかに簡単に機能しました。
Eleven81の回答のわずかな更新:以下のコードは、複数のアイテムをドロップできるバッチファイルを作成します。
@echo off
if [%1]==[] goto :eof
:loop
7z a -tzip "%~1.Zip" "%~1"
shift
if not [%1]==[] goto loop
このバッチファイルは、レジストリを介してコンテキストメニューに追加できます。
したがって、たとえば、私のエントリは「C:\ Users\Rory\Dropbox\_apps\batch_Zip.bat」「%1」です。
これを実行すると、選択したフォルダを個別のアーカイブに一括で圧縮する「バッチZip」のエントリがコンテキストメニューに表示されます。
ただし、これをコンテキストメニューから実行すると、残念ながらすべての操作が同時に実行されます。多くの圧縮と解凍を行った人なら誰でも知っているように、フォルダの圧縮は、一度に実行するよりも次から次へと非常に高速に機能します。
誰かがレジストリでこれを修正する方法を知っている場合は教えてください。
選択したフォルダをバッチにドラッグすると、順番に実行されます。
ヒント:画像がJPGの場合、画像はすでに圧縮されています。圧縮なしの「アーカイブ」モードで7-Zipを使用(圧縮レベル:ストア)これにより、プロセスが大幅にスピードアップします。
ウルトラ圧縮を使用しても、5%になることはほとんどありません。
私は実際に添付ファイルを追加することを考えていました。
メールの添付ファイルとして送信しません。むしろ、いわゆるワンクリックホスティングサーバーにアップロードし(例:drop.io、rs、mu、msなど、選択肢は豊富です)、ダウンロードリンクをメールで友達や家族に送信します。
私はroryokの回答が非常に役立つことがわかり、batch script
for Windows
を使用すると、drag-&-drop
ファイルを使用すると、迅速な自動アーカイブが可能になります。
このスクリプトを使用するには、.bat
拡張子。ファイルやフォルダをバッチファイルにドラッグアンドドロップできます(またはバッチファイルへのショートカット)。
.Zip
ファイルは、ソースファイルと同じディレクトリに作成されます。
(ただし、宛先はスクリプト@ archivePath
で変更できます)
カスタマイズの容易さと全体的な機能を改善するために行ったいくつかの更新:
for
ループを実装しましたdelayedexpansion
とともに実行時変数を許可する)if
とfiles
を区別するためにfolders
条件を追加\archive.Zip\file.txt
[〜#〜] vs [〜#〜]\archive.Zip\parent_folder\file.txt
)@Echo OFF
SetLocal EnableDelayedExpansion
Rem // 7-Zip Executable Path
Set sevenZip="C:\Program Files\7-Zip\7z.exe"
Rem // START: NewLine Variable Hack
Set newLine=^
Rem // END: NewLine Variable Hack !! DO NOT DELETE 2 EMPTY LINES ABOVE !!
Rem // Set ErrorLog Variables
Set errorCount=0
Set separator=--------------------------------------------------------
Set errorLog=!newLine!!newLine!!separator!!newLine!!newLine!
Set errorPrefix=ERROR @:
Set successMessage=All Files Were Successfully Archived
Rem // Loop Through Each Argument
SetLocal DisableDelayedExpansion
for %%x in (%*) do (
Rem // Use Current Argument To set File, Folder, & Archive Paths
SetLocal DisableDelayedExpansion
Set filePath="%%~x"
Set directoryFiles="%%~x\*"
Set archivePath="%%~x.Zip"
SetLocal EnableDelayedExpansion
Rem // Source Is A Folder
if exist !directoryFiles! (
Set sourcePath=!directoryFiles!
)
Rem // Source Is A File
if not exist !directoryFiles! (
Set sourcePath=!filePath!
)
Rem // Print Separator To Divide 7-Zip Output
echo !newLine!!newLine!!separator!!newLine!!newLine!
Rem // Add Files To Zip Archive
!sevenZip! A -TZIP !archivePath! !sourcePath!
Rem // Log Errors
if ErrorLevel 1 (
Set /A errorCount=errorCount+1
Set errorLog=!errorLog!!newLine!!errorPrefix!!sourcePath!
)
)
Rem // Print ErrorLog
if !errorCount!==0 (
Set errorLog=!errorLog!!newLine!!successMessage!
)
Echo !errorLog!!newLine!!newLine!!newLine!
Rem // Keep Window Open To View ErrorLog
pause
7-Zipには、すべてのファイルを独自のフォルダー(* /)に解凍するオプションがありますが、探している反対のアクションを実行するコンテキストコマンドがありません。
とは言っても、過去にwinrarを使用してこれとまったく同じことをしたことを覚えています。 「フォルダごとに一意のアーカイブ」オプションまたはその効果があるものがあります。
Picasaを入手して、picasaウェブアルバムにアップロードします。その後、誰でも簡単にオンラインで写真を取得して表示できます。オリジナルをアップロードすることもできます(家族が大きいバージョンを印刷できるようにするため)。