
WINRARでは、rar、zip、lzhなどの書庫を”書庫をテスト"を使うと
破損しているか、どうかをテストしてくれます。
数個であれば良いんですが、パソコンの中を全部調べるとかなると
チェックする量が多くなってくると、コマンドプロンプトで実行した内容を
自作ソフトでパイプして判断処理しています。
そこでWinRARには、コマンド用でRar.exe があるのですが、
cmd後に、下記のコマンドを実行すると
C:\Program Files\WinRAR>Rar.exe t "c:\2.rar"
であればチェックしてくれるのに対して、
これをzipファイルにした途端、動作しません。
※もちろん、c:\2.zipは存在しています。
C:\Program Files\WinRAR>Rar.exe t "c:\2.zip"
今までは、7z.exeでチェックしていたのですが、
一部の書庫が7z.exeチェックで異常(エラー)になるのですが、
それをWinRARで書庫チェックすると正常で、WinRARでの解凍も正常で、中身も正常という
書庫が一定数存在しているようで。。。。
どうも色々調べてみるとWinRARでないと正常に解凍できない類の書庫みたいです。
たぶんWinRARがチェックが緩く(?)内部的に補完してくれているか、zipの内部の圧縮レベルに
ちゃんと対応しているか、7zのチェックが厳密すぎてエラーになっているような気がします。
質問:WinRARのコマンド版Rar.exeを使ってzipファイルを書庫テストしているのですが
どうすれば、書庫テストが可能なのでしょうか?教えてください。
No.4ベストアンサー
- 回答日時:
恐らくですが、「Rar.exe」は、Zipファイルのチェックには未対応だと思いますので、「WinRAR.exe」の方を使ってみてください。
WinRAR t -inul 対象ファイル
という構文で実行すると、エラーレベルを返してくれますので、それでエラーかどうか判断してください。
「-inul」は、すべてのメッセージを無効するスイッチオプションです。メッセージボックスが表示されて処理が一時停止されるのを防ぐ為のものです。
バッチファイルで処理する場合は、以下のような感じで処理すると良いかと思います。「設定」の部分だけを環境に合わせて書き換えて、テストしてみてください。
こちらでも動作確認はしましたが、ざっと書いただけなので、まずい箇所があれば修正して使ってください。
――――――――――――――――――――――――
@echo off
rem --------------
rem ■ 設定
set "WinRAR.exeのパス=C:\Program Files\WinRAR\WinRAR.exe"
set "対象ファイル=C:\xxx\*.zip"
rem (※サブディレクトリのファイルは含めません)
set "エラーログ=エラーログ.log"
rem --------------
rem ■ 前回エラーログの削除
if exist "%エラーログ%" del /q "%エラーログ%"
rem ■ ファイルチェックのループ
for %%l in ("%対象ファイル%") do call :ファイルチェック "%%~l"
rem ■ 結果表示
if exist "%エラーログ%" start "" "%エラーログ%"
echo.
echo.
if exist "%エラーログ%" echo. エラーがありました
if not exist "%エラーログ%" echo. エラーはありませんでした
echo.
echo.
pause
exit /b
rem --------------
:ファイルチェック
"%WinRAR.exeのパス%" t -inul "%~1"
if not "%errorlevel%"=="0" echo."%~1">> "%エラーログ%"
exit /b
rem --------------
――――――――――――――――――――――――
kon77さん、回答ありがとうございます!
WINRARでは、結果の返り値が定義されているんですね。
これなら確かに%errorlevel%で取得して判断できそうです。
具体的にサンプルソースも提示していただき、とても助かりました!
やりたい事が、出来そうです。
当初、私もrar.exeのドキュメントも見たのですが、zipは不可の文字が書いておらず、
ググっても言及しているページは無く(たぶんどこかに記述されているかも知れませんが。)
WinRARのバッチ処理するには、コマンドライン版のrar.exeがあるから
それを使う説明が多く、そのことから、私も単純に”WinRARのコマンド版=rar.exe”と思っておりました。
そして(WinRARも行けるからrarも)zipファイルも行ける筈(ない訳が無い)なのに、どうして動かないんだろう?
という事から、教えてサイトに投稿した次第です。
私のバックボーン含め説明しているにも関わらず
それを良く見ずにアドバイスする方や、解決スキルも無いのに口出す誰かと違い
とても大変助かりました!
ベストアンサーにて閉めたいと思います。
ありがとうございました。
No.3
- 回答日時:
うーん、、
回答するなら手を動かすのが当たり前とか、
回答もらっておいて「ちゃんと質問読め」って。
何様なんだろう。
zipが扱えないrar.exeでしこしこ頑張っていたところをみると
スキル無しなんでしょうが。
>また自作ソフトで結果分をパイプして内容を取得しているため
>他のアプリのエラーログをどうやって取り込むか、問題が残ります。
これ別の質問だよね。Winrarと直接関係ないし。
表題の質問の回答はもらったんだから、
一旦、終わりにするべきじゃないの?
申し訳ございませんが、質問の趣旨と違う内容は書き込み(答え)しないでもらえますでしょうか?
質問内容は、自作ソフトでパイプして判断処理をしている為、コマンド処理が必要であり
zipファイルをrar.exeで、どうすれば良いか?です。
私は初めから、zipファイルについては、そのように質問をしており
そのバックボーンの背景が分かるように説明しております、
しかしながら、makunanamanさんのやり取りで
今回rar.exeでは出来ないことが分かった訳ですが、
そもそもmakunanamanさんは、tを使えばいける、WinRARつかえばいいよ といった
よく質問内容を見てない感じで、
(ちゃんと見ていたら申し訳ないですが、少なくとも私はそう感じました。なら初めからzipは使えないという回答をすれば終わった話なので)
無責任に回答されているので、ちゃんと質問を良く見て回答をしてほしい訳です。
質問を見ずにどうやって回答するのか、私は疑問ですよ?
また、ほぎほぎさんは、私よりスキルがある方ようなので
本件について、どのように対応できるか回答可能でしょうか?
もしスキルが私同様に無いのであれば
回答を控えますよう、お願いいたします。
No.2
- 回答日時:
zipが対象ということはわかりましたが、
rar.exeはWinRARのコマンド版ではないし、
そもそも、zipを扱えません
(rarしか扱えない。だからrarの書庫テストのことかと思っていました)。
”Winrar t <zipファイル>”でもいけると思うので、
それでやればいいのではないでしょうか。
>zipが対象ということはわかりましたが、
WinRARのコマンド版Rar.exeを使ってzipファイルを書庫テストしているのですが
どうすれば、書庫テストが可能なのでしょうか?教えてください。
と、ちゃんとzipファイルであることは名言しています、
ちゃんと全文よんで回答をお願いします。
>そもそも、zipを扱えません
やはりrar.exeは、WinRARと同様ではないのですね。。。
”Winrar t <zipファイル>”の場合、対象ファイルが10万個などある場合
エラーログが出ても、どれがどれだか分かりにくいんですよね。
また自作ソフトで結果分をパイプして内容を取得しているため
他のアプリのエラーログをどうやって取り込むか、問題が残ります。
どうしたらいいと思いますか?
No.1
- 回答日時:
-t オプションを付ければいいみたいですが、、、
詳細は
"rar /?"
してみてください。
回答ありがとうございます。
-t オプションを付けましたが駄目でした。
C:\Program Files\WinRAR>Rar.exe t "c:\2.zip"
C:\Program Files\WinRAR>Rar.exe t -t "c:\2.zip"
などを実施しました。
No files to extract と出るばかりです。
"c:\2.zip"自体は、私の環境で存在しますし、WINRARや他のソフトでは解凍可能な正常なファイルです。
念のため、確認させて頂きたいのですが、実際にzipファイルで試されましたか?
rarファイルなら、tや-tでテスト出来るんですよ・・・・
しかしながら、zipファイルになった途端、書庫テストが出来ないで困っているのです。
WINRARでは出来るのに。。。
あともしかしたら、コマンドラインのオプションだけを見て、回答しているのでは無いかと思ったので
もしそうであれば、実際にzipファイルで試していただけないでしょうか?
その際に、どういうコマンドを実施したか、教えてください。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) Winrarの移行 1 2023/02/26 08:31
- MySQL XamppでインストールしたMySQLのフォルダのWinRARでのバックアップについて 1 2022/06/22 18:55
- WordPress(ワードプレス) [BuddyPress]試したいのですが! 3 2022/06/01 13:36
- InternetExplorer(IE) 【至急】エクスプローラーでの解凍 3 2023/08/01 15:06
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- アプリ アプリケーションが見つかりません 2 2022/07/13 21:07
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- 食べ物・食材 氷点下以上の冷蔵保存で溶けてしまった冷凍食品をどうすべきか 3 2023/07/06 19:31
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
B's Recorder GOLD8 Securityで...
-
拡張子DAT
-
携帯のメモリダイアルをPCに取...
-
「JPEGファイル」と「JPEGイメ...
-
.binファイルの実行の仕方を教...
-
アクセサリのペイントがクイッ...
-
HULFTとOWFTの違いに...
-
困った~ swf が開けない!
-
CADについて
-
バッチ処理ができません
-
MP4Boxのmuxについて
-
WINRARで”書庫をテスト"の操作...
-
CADファイルが開けない
-
パソコンに保存した写真ファイ...
-
auto cadのファイルを元に戻す...
-
フォルダの中のファイルを任意...
-
フォルダ「PerfLogs」について
-
win10で1つのフォルダ内に保存...
-
パワーポイントに挿入したエク...
-
デスクトップ画面の保存方法に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HULFTとOWFTの違いに...
-
二つのexeファイルの比較がしたい
-
Photoshop【ファイルがロックさ...
-
PDFファイルが開けるのと開...
-
CADについて
-
.MANファイルを開けたいのですが…
-
パソコンに保存した写真ファイ...
-
拡張子DAT
-
「JPEGファイル」と「JPEGイメ...
-
Photoshopでファイル名をレイヤ...
-
UWSCからvbsファイルを呼ぶ方法
-
フォルダ内のワードファイルをP...
-
Windows Live Mailの添付ファイ...
-
エクセルのファイルが一瞬開く...
-
フォトショップ「互換性を優先...
-
ファイル更新日が当日日付と同...
-
Paint shop pro 5で「指定した...
-
Makefileが実行できない
-
ファイルのアイコンの種類が変...
-
bmpファイルが開きません。
おすすめ情報