人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

パスワード付きのZIPを一覧から検索して削除するよい方法はないでしょうか。
バッチファイルで何とか出来ないかと思ったのですが、私の頭では無理そうです…。

例 d:\zip\ に hoge01.zipとか適当な名前のZIPが数百有り、そのうちいくつかはパスワードがかかっている。
パスワードがかかっている物を楽に一括削除したい。 当方Windowsを使っております。

何か良い方法がありましたら、教えてください。

●質問者: x2pop
●カテゴリ:コンピュータ
✍キーワード:Windows zip バッチ パスワード ファイル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● un0
●1ポイント

以下の考え方でいかがでしょうか。

1.全てのzipファイルを一度unzipする

2.全てのzipファイルのみを削除する(展開されたファイルは削除しない)

3.2で展開されたファイルを改めてzipする

◎質問者からの返答

それをしたいのですが、手間が掛かるので何かいい方法を探しております。

ZIPを解凍して、解凍できなかった場合(パスワード付きなら出来ないでしょうから)それを削除するようなバッチを考えてみたのですが、うまくいきませんでした。


2 ● bmax
●350ポイント ベストアンサー

1.下記のバッチファイルを適当な名前で保存してください。(ここでは PassZipDel.batとします)

2.Zipファイルの格納フォルダに1.のbatを入れてください。(d:\zipとします)

3.作業用フォルダと出力先フォルダ(パス無しのZipのみを格納する)を作成してください。

(ここでは d:\zipwork と d:\zipoutput とします)

4.コマンドプロンプトにて以下を実行してください。

D:\zip>PassZipDel.bat d:\zipwork d:\zipoutput


@echo off

for %%i in (*.zip) do (
 rem Zipファイルの解凍
 unzip -P "" "%%i" -d "%1" > "%1\result.txt"
 rem 解凍に成功したら出力先フォルダへコピー
 find "inflating" < "%1\result.txt"
 if not errorlevel 1 copy /Y "%%i" "%2"
)

rem ワークフォルダのクリア
del /Q %1

※UNZIPのバージョンなどによりうまく動作しない可能性があります。

(解凍の成功を出力されるメッセージにて判断しているため


下記のUNZIP32.DLLを使用しています。

http://www.madobe.net/archiver/lib/unzip32.html

◎質問者からの返答

ありがとうございます!

しかし、、バージョンが違うのかうまくいきません…。私のスキル不足で申し訳ない。

私の知識(なので全く見当違いのことを言っているかもしれません)で原因を調べてみましたが、どうもresult.txtに結果が出力されていない事が原因のようです。unzipのバージョンの問題でしょうか。

パスワード付きの test.zip を用意して

unzip -P "" test.zip -d c:\zipout >t.txt

と実行すると、

t.txtの内容

Archive: test.zip

コマンド プロンプトの表示に

skipping: test.txt incorrect password

となります。このコマンドプロンプトの表示が、t.txtに入らないと、ダメではないでしょうか。

> hoge.txt としているのに表示されてしまうのはなぜ…?

http://www.ring.gr.jp/pub/text/CTAN/tools/zip/info-zip/WIN32/unz...

これを使っているのですが、x64だからダメなのかと思い、

http://www.ring.gr.jp/pub/text/CTAN/tools/zip/info-zip/WIN32/unz...

こちらにしてみましたが、やはりダメでした。

しかし、unzipがパスワードが違って解凍できない場合は普段と違うerrorlevelを返すはずですよね…。

それで何とかなるかもしれません。が、今日は時間切れなので、、

本当に参考になりました。なにか基本的なところを間違えていたらごめんなさい(汗)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ