Thread: 7z.exeの戻り値

7z.exeの戻り値 (2016-10-12 11:44, sima, #78859)

いろいろと調べたのですが、わからなかったので教えていただけると助かります

7z.exeを使ってバッチファイルを組んでいるのですが、圧縮に失敗した場合などエラーになった状態を把握したいのですが、できません。
いま試しているのは、バッチで%ERRORLEVEL%で拾いたいのですが、常に0がかえってきています。
試したのが、圧縮するファイルのアクセス権限をとってエラーにしてみたりしました。
画面には「WARNING: アクセスが拒否されました。」と表示されるのですが、ERRORLEVELは0でした。
なにか方法はないでしょうか?

Reply to #78859×

You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 7z.exeの戻り値 (2016-10-12 13:02, nabe, #78860)

一般的なバッチ処理の話ですが、7z.exeですべてやらないほうがいいのではないでしょうか。
バッチ処理の中で、

1 対象ファイルがリード可能かでエラートラップ
2 圧縮
3 展開テストでエラートラップ

という形が素直だと思います。
Reply to #78859

Reply to #78860×

You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 7z.exeの戻り値 (2016-10-12 13:19, sima, #78861)

さっそくのレスありがとうございます。
ご提案の路線も検討に含めたいと思います。

展開テスト(GUIではできるようですが、コマンドで可能なのかまだ調べきれていません)ですが、7z.exeでやるにしても
戻り値がないのであれば意味ないですし、ディスクフルで圧縮に失敗などzipファイル生成時に一部のファイルが圧縮できなかったときなど、展開テストでは拾いきれないのかな、どうだろうと・・・。ちょっと考えてみます。


Reply to #78860

Reply to #78861×

You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 7z.exeの戻り値 (2016-10-12 13:46, nabe, #78862)

ちなみに、
%ERRORLEVEL%
でエラーは拾えると思いますよ。

C:\Program Files\7-Zip>7z.exe aaaaaa

7-Zip [64] 16.04 : Copyright (c) 1999-2016 Igor Pavlov : 2016-10-04



Command Line Error:
Unsupported command:
aaaaaa

C:\Program Files\7-Zip>echo %ERRORLEVEL%
7

https://sevenzip.osdn.jp/chm/cmdline/exit_codes.htm
の通りの数字が返ってきています。

Reply to #78861

Reply to #78862×

You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

Re: 7z.exeの戻り値 (2016-10-12 18:05, sima, #78864)

ありがとうございます。
コード表探してました。

ERRORLEVELの扱いがなにか間違っていたようです。コマンドラインで確かめたら0以外を確認できました。

Reply to #78862

Reply to #78864×

You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login