Quantcast
Channel: 教えて!goo 参照の多い質問(デジタルライフ/207)
Viewing all articles
Browse latest Browse all 12809

バッチファイルで複数のファイルを一括圧縮

$
0
0
======================================================================= 現在の構成 ======================================================================= X:. │ hoge.7z │ hoge2.7z │ hoge3.7z │ foo.zip │ foo.lzh │ ├─xyz │ │ xxxx.7z │ │ yyy.7z │ │ zzzz.7z 上記のように、Xドライブの中にhoge.7zやfoo.zip等の圧縮ファイルと、xyzというフォルダがあり、更にxyzのフォルダの中にxxxx.7z等圧縮ファイルが格納されているフォルダ構成があります。 このXドライブの配下の7zで圧縮されたファイルのみをzipに再圧縮したいので、windowsのコマンドと7-Zipのコマンドを利用してバッチファイルを作成したいと考えています。 下記のURLを参考にしてバッチファイルを作成したのですが正常に動作しません。 どこを変更したら上手く動作するのでしょうか? ======================================================================= 理想的な実行時の流れ ======================================================================= 1. フォルダの配下にある.7zファイルを検索する 2. 拡張子が.7zのファイルがあった場合、zipに再圧縮する 3. 再圧縮した、元の7.zファイルを削除する ======================================================================= バッチファイル ======================================================================= @echo off set exe="C:\Program Files\7-Zip\7z.exe" for /R %%i in (*) do ( rem if /I "%%~xi"==".7z" call :再圧縮 %%i ) cd %~p0 goto :EOF :再圧縮 echo %1 cd %~p1 %exe% x -o$$temp$$ %1 >> NUL cd $$temp$$ %exe% a -tzip -mx=9 -m0=lzma2 %~p1%~n1.zip * >> NUL cd .. rmdir /S /Q $$temp$$ if exist %~p1%~n1.7z if not "%~x1"==".7z" del /F /Q %1 goto :EOF ======================================================================= 参考にしたサイト ======================================================================= http://sevenzip.sourceforge.jp/howto/compress-many-files.html ftp://softbank126018034238.bbtec.net/Upload/BackUp/ArchiverDLL/7-ZIP32/7-zipCMD.txt http://d.hatena.ne.jp/gurinita/20091221/1261397519

Viewing all articles
Browse latest Browse all 12809

Trending Articles