• ベストアンサー

圧縮したいファイルがなくてもzipが作られてしまう

7Zipを使って圧縮ファイルを作る処理を作っています。 Windows環境で下記のコマンドを実行しています。  7z.exe 〇〇.zip a 〇〇.text 圧縮したいファイルがない場合、ファイルがありませんとメッセージ がでますが、zipファイルが作られてしまいます。 ファイルがない場合、zipファイルが作られないようにするオプション とかありましたら教えて下さい。 よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • heburusu
  • ベストアンサー率85% (140/164)
回答No.1

7Zipにはそのようなオプションはないように思いますので、 7z.exeを実行する前に対象ファイルをチェックする必要があるかと思います。 参考URLはWindowsのバッチファイルでファイルの存在有無をチェックする方法です。

参考URL:
http://vaindespair.blogspot.jp/2009/04/blog-post.html
kinka2000
質問者

お礼

回答ありがとうございます。 事前にファイルの存在チェックをすることにしました。

関連するQ&A

  • コマンドによるzip圧縮

    コマンドによるzip圧縮(zip32j.dll+zip32.dllでなくzipfldr.dllを利用)を行うのに、 http://www.vector.co.jp/soft/winnt/util/se355605.html (吉岡照雄氏作成) を使いましたがうまくいきません。 説明には、 「CScript.exe MakeZIP.VBS ZIPファイル ファイルまたはフォルダ...」 とあったので、コマンドラインから、下記(1)を投入すると(2)のようなメッセージがでてうまくいきません。 どこが悪いのでしょうか? MakeZIP.VBS、user.csv 、per.csv、全てz:直下にあります。 zipfldr.dllは、\system32に入っています。 エクスプローラを使い、送る→圧縮だとうまくいきます。 (1)Z:\>CScript.exe MakeZIP.VBS z:\a.zip z:\user.csv z:\per.csv (2) Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. Z:\MakeZIP.VBS(36, 3) Microsoft VBScript 実行時エラー: オブジェクトがありません 。: 'NameSpace(...)'

  • ファイル圧縮について

    こんにちわ。質問内容ですが、Javaでファイルの圧縮処理を作成しているのですが、変な動きをしてしまいます。 普通に実行をすると、zipファイルは作成されるのですが、圧縮もとのファイルがzipファイルの中に入っておらず、 空のzipファイルが出来てしまいます。 コマンドプロンプトで実行すると、うまく圧縮されています。 又、コマンドプロンプトで1度実行したファイルで普通に実行かけると、 きちんと圧縮されるようになります。 文章が下手で伝わりにくいかと思いますが 、一応私の作成したソースを載せます。 申し訳ありませんがみなさんのお力を貸してください<m(__)m> 環境 WindowsXP  Tomcat5.0  j2sdk1.4.2_02  struts1.1 apache-ant-1.5.3-1

  • VB6で7-ZIPのAPIを使用した圧縮でフォルダが消えてしまいます

    Windows2000 VB6.0で開発をしています。 7-ZipのAPIを使用してフォルダを圧縮しています。 そのときのコマンドは下記の通りです。 "a -r -tzip -mx "XXX.zip" "XXX\" *.* 圧縮もとのXXXフォルダの中には 3つのフォルダが入っていて、 そのうち一つのフォルダにはファイルが 1つも入っていません。 上のコマンドをプログラムで実行させて、 XXX.zipファイルを作成後 圧縮元となるフォルダを削除すると、 なぜか、ZIPファイルを展開したときに、 圧縮されているはずの3つのフォルダのうち、 ファイルの入っていないフォルダだけ消えて フォルダが2つになっています。 中身が空のフォルダも残して フォルダの構成はそのままで圧縮したいので、 フォルダが消えてしまって、困っています。 ちなみに7-Zipのソフトで実行すると、 フォルダは消えません。 7-zipのコマンドで更新オプションの部分が怪しく、 「-up2q2」など追加して色々ためしているのですが、 なかなかうまくいきません(涙) どなたか、解決につながりそうな情報をお持ちでしたら、 どうか、教えてください。 よろしくお願い致します。 

  • zipコマンドで1ファイルだけ再圧縮したいです

    WindowsですとWINRARなどのアーカイブツールで、修正した1ファイルだけを再圧縮するのは簡単ですが、zipコマンドでも同じ事ができるでしょうか? 設定ファイル以外がかなり大きなファイルなので、 以下の事を実現したいです。 1./soft1以下を全て圧縮しsoft1.zipとする 2./soft1/conf/test.confファイルだけを修正 3./soft1/conf/test.confだけ再圧縮しsoft1.zipを修正。

  • ZIPファイルの作成をコマンドから行いたい

    Windows2003やXPでは、ファイルの右クリック→圧縮で ZIPファイルを作成することが可能ですが、 これをコマンドから実行することは可能なのでしょうか? 可能ならば、どう書けばよいでしょうか…。 よろしくお願いいたします。

  • Powershellでzip圧縮が出来ない

    Powershellでzip圧縮しようとしているのですが、 ・Powershell ISEで実行すると正常に圧縮 ・コマンドプロンプトで実行すると、「圧縮(zip形式)フォルダーエラー」が発生し、圧縮できない という現象が発生しています。コマンドプロンプトで実行できるようにしたいのですが、原因がわからないので、御教示をお願いします。 ・環境 Windows XP SP3 Powershell 2.0 ・Powershellソース # 引数チェック # 引数の数が2以外の時は異常終了 if ($args.Length -ne 2 ) { write-host "引数エラー" exit 2; } # 圧縮zipファイル名 $ZipFilePath = $Args[0] # 圧縮対象ファイル名 $TargetItems = $Args[1] # 圧縮先パス存在チェック if((Test-Path (Split-Path $ZipFilePath -Parent)) -ne $True){ write-host "圧縮先パスエラー" exit 3; } # 圧縮対象ファイル存在チェック if((Test-Path ($TargetItems)) -ne $True){ write-host "圧縮対象ファイルエラー" exit 4; } # Zipファイルが存在する場合は削除 if(Test-Path -Path $ZipFilePath) { Remove-Item -Path $ZipFilePath } # Zipファイル作成 Set-Content $ZipFilePath ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18)) (dir $ZipFilePath).IsReadOnly = $false # Zipファイルにファイルを投入 $shell = New-Object -com Shell.Application $zipfile = $shell.NameSpace($ZipFilePath) $archivedItems = New-Object Collections.ArrayList # 圧縮対象ファイルの数だけループ foreach($item in ($TargetItems | %{Get-Item -Path $_})) { # ファイルをZipファイルに投入。圧縮処理は非同期なので、その終了を待つ。 $archivedItems.Add($item) | Out-Null $zipfile.CopyHere($item.FullName) while($true) { if($archivedItems.Count -eq $zipfile.Items().Count) { break } Start-Sleep -Seconds 1 } } write-host "処理終了" exit 0

  • パスワード付きzip圧縮を連続処理したい

    お世話になります。 パスワード付きで圧縮したいファイルがたくさんあるので、zip形式で一括圧縮を しようと試みています。 今考えているのは、コマンドプロンプトからzipコマンドで連続圧縮するバッチを作成 なのですが、必要なアーカイブをwindows32システムフォルダにいれて、コマンドプロンプトから >zip -e sample.zip sample.txt と入力すると、zip圧縮ファイルが作成できるのですが、パスワード、パスワード確認 があるため、処理(バッチ)が中断されてしまいます。 パスワードを引数にできないものか等、錯誤しているのですが、なかなかうまくいきません。 もちろんやりたい事ができれば、形式は問いません。それといった機能が圧縮ソフトでできるなど、 何か情報がありましたらご教示いただきけないでしょうか?宜しくお願いします。

  • 圧縮ファイル ZIP形式の展開

    今までWindows XPを使ってましたが、Vistaに替えました。 どうもよくわかりません・・ フリーソフトやPDFのカタログなどZIP形式のファイルで提供されています。デスクトップに保管してZIP形式のファイルをダブルクリックして開きます。展開するとフォルダーがあるので展開すると中にsetup.exeやPDFがあるのでダブルクリックしますが実行出来ません。 setup.exe場合、「このアプリケーションはこのフォルダーにあるほかの圧縮ファイルに依存している可能性があります。 アプリケーションを正しく実行するには、最初にすべてのファイルを展開することをお勧めします。」と出ます。 すべて展開をするとフォルダーが出来ますが中はからっぽ? どうなっているのかわかりません・・ 何か設定とかあるのでしょうか? PDFの場合はダブルクリックしても展開せず閲覧出来ません・・ いいアドバイスお願いします。 XPの時は実行出来た?と思いますがが、Vistaでは何か特別な操作が必要なのでしょうか?

  • コマンドプロンプトでテキストファイルをzip圧縮

    お初です。コマンドプロンプトでテキストファイルをzip圧縮行うことができるのでしょうか? 現在使用していますパソコンのOSはWINXPです。

  • 7-Zipで圧縮

    圧縮率がいいと噂を聞き7-Zipで圧縮してみたら元のファイルの容量より増えてしまいました。超圧縮で実行しました。 何かやり方が間違っているのでしょうか? winrarで同じファイルを圧縮したら、ちゃんと元の容量より少なくなりました。 ちなみにこのサイトの(5)の項目を見ながらやりました。 http://www.xucker.jpn.org/pc/7zip_use.html

専門家に質問してみよう