8

Unixでアーカイブを解凍する方法はたくさんあります。

目標は、すべてのアーカイブを検索し、Windowsの独自のディレクトリ(各アーカイブが検索される場所)で解凍することです。
オプション:

  • 解凍後にアーカイブを削除します。
  • 解凍中に1つのアーカイブに問題が発生した場合は、エラーメッセージを記録します。

たとえば、 ( PeaZipのポータブルバージョンに含まれている)を使用して、プレーンなDOSコマンドラインを探しています。7z.exe

4

2 に答える 2

7

私はsevenzipプロジェクトのこのスレッドからコマンドラインを取得しましたが、少し変更を加えました。

FOR /R %I IN (*src.zip) DO (C:\apps\peazip_portable-3.8.WINDOWS\res\7z\7z.exe x "%I" -aoa -o"%~dpI\*" |c:\windows\system32\find.exe "Everything is Ok" >nul  &&DEL /F "%I" ||ECHO.%I : EXTRACT FAIL - ARC NOT DELETED >>ERR.TXT)

(可視性のための複数行)

FOR /R %I IN (*src.zip) DO ( \
  C:\apps\peazip_portable-3.8.WINDOWS\res\7z\7z.exe x "%I" -aoa -o"%~dpI\*" 
  |c:\windows\system32\find.exe "Everything is Ok" >nul &&DEL /F "%I"
  ||ECHO.%I : EXTRACT FAIL - ARC NOT DELETED >>ERR.TXT)

ノート:

  • 私は(msysgitまたはgowから)他の' 'を持っているのでc:\windows\system32\find.exe、単に、ではなく""を指定することを好みます。FINDfind.exePATH
  • &&DEL /F "%I"アーカイブを所定の位置に保持したい場合は、''の部分を削除してください。

そのワンライナーを使用して、 Rational TeamConcertSDKから470" src.zip"を2分で解凍しました。

于 2012-04-11T14:04:11.873 に答える
0

これは古い質問ですが、誰かがこれが役立つと思うかもしれません。この方法は、WinZipとWinZipコマンドラインアドオンを使用して機能しました。どちらも、登録ユーザー向けにWinZipサイトで入手できます。

FOR /R %I IN (*.zip) DO (C:\Program Files (x86)\winzip\wzunzip.exe -ye "%I" "%~pI")

-yeはzipファイル名にちなんでフォルダに名前を付けます。%Iはzipファイル名です%〜pIはzipファイルの内容の宛先です

前の回答にデバッグメッセージを自由に追加してください。zipファイルを含むすべてのサブフォルダーが保存されているフォルダー内でコマンドを実行します。

于 2016-01-22T22:15:33.090 に答える