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」など追加して色々ためしているのですが、
なかなかうまくいきません(涙)
どなたか、解決につながりそうな情報をお持ちでしたら、
どうか、教えてください。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
>どなたか、解決につながりそうな情報をお持ちでしたら、
>どうか、教えてください。
7zに対応したDLLは色々あり、質問文でどのDLLを使用した場合について述べているか不明な為、回答は不可能。
開発者の思想の違いにより「空のフォルダは書庫内に残さない」「空のフォルダは圧縮しない」「空のフォルダは展開時に新規作成しない」と考える開発者と、真逆の考え方をする開発者が居る。
もちろん、どちらが正しいとは言えないが「空フォルダが事前に用意されてないと正常に動作しないのはアプリの不具合であり、空フォルダが必要ならアプリが起動後にフォルダの有無について責任を負うべきで、書庫ツールに空フォルダの生成責任を押し付けるな」と言うのが、現在の主流。
「書庫に空フォルダが出来てしまう」「書庫に空フォルダがあると展開時に空フォルダを作ってしまう」のを「明らかなバグである」と公言する開発者も居る。
因みに、書庫ソフトによっては、DLLを呼ばずにソフト内部ですべて処理するソフトもあるので、DLLとソフトで圧縮と解凍の挙動が異なる場合がある。
「DLLは幾つかある」ので「使用目的と開発思想が一致したDLL」を探して使用しよう。
この回答への補足
すみません、自己レスです。
a -r -tzip -mx "C:\aaa.zip" "C:\aaa\" *.*
↓
a -r -tzip -mx "C:\aaa.zip" "C:\aaa\*"
にして、解決しました。自分で
「全ての『ファイル』を圧縮する」と指定しておきながら、
『フォルダ』が圧縮されずに悩んでいました・・・。
私の、注意力が散漫でした・・・。
これで、解決しました。ありがとうございました!
ご解答ありがとうございました。
>7zに対応したDLLは色々あり、質問文でどのDLLを使用した場合について述べているか不明な為、回答は不可能。
⇒「7-zip32.dll」を使用しています。言葉足らずですみません。
>もちろん、どちらが正しいとは言えないが「空フォルダが事前に用意されてないと正常に動作しないのはアプリの不具合であり、空フォルダが必要ならアプリが起動後にフォルダの有無について責任を負うべきで、書庫ツールに空フォルダの生成責任を押し付けるな」と言うのが、現在の主流。
⇒ユーザからの指定でに指定のフォルダ構成でZIPファイルを作成しなくてはならず、
あちらの仕様にあわせるとなると、フォルダが必要となってしまいます。
>因みに、書庫ソフトによっては、DLLを呼ばずにソフト内部ですべて処理するソフトもあるので、DLLとソフトで圧縮と解凍の挙動が異なる場合がある。
⇒ZIP32J.DLLとZIP32.DLLを検討しましたが、ユーザよりDLLを保存するフォルダも指定されいる関係で、これらのDLLではうまくいきませんでした。
決まったフォルダ構成で、ZIPファイルを作成する必要があり、現在検討どのDLLを使用するか検討しているところです。もし、7-zip32.dllで、空のフォルダを圧縮しないのであれば、また、他を当たるしかないですね。
ご解答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ノートパソコン パソコンでmp4の動画ファイルを10個くらい(合計20GB)をフォルダに入れて、容量を軽くしてしまお 2 2023/02/06 02:08
- その他(セキュリティ) PDFファイルのパスワード設定について 1 2022/06/25 10:10
- PDF PDFファイルの圧縮 1 2022/10/04 13:48
- WordPress(ワードプレス) [BuddyPress]試したいのですが! 3 2022/06/01 13:36
- その他(コンピューター・テクノロジー) 圧縮ファイル 解凍すると中身が消える? 3 2022/05/18 15:21
- Android(アンドロイド) androidでzip圧縮してから転送できるファイラー 3 2022/12/11 10:22
- 画像編集・動画編集・音楽編集 画像の一括圧縮 1 2022/12/02 21:56
- Google Drive USB内の圧縮フォルダが開けません。教えて下さい! 1 2022/07/26 18:44
- Android tar.ファイルのインストールについて知りたいです 2 2022/07/23 15:34
- その他(プログラミング・Web制作) pythonでDepixを起動 5 2022/12/18 08:04
このQ&Aを見た人はこんなQ&Aも見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
ちょっと先の未来クイズ第4問
11月ごろに発表される、2024年の「新語・流行語大賞」にノミネートされる言葉を書けるだけ書いてください。
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
ファイルをvbaで圧縮したいのですが
Excel(エクセル)
-
VB6.0で、DLLを動的に参照したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
Excelのハイパーリンクについて...
-
C#でフォルダをロックする方法
-
デスクトップの画像をhtmlに表...
-
ファイル名と同名のフォルダを...
-
C ファイル出力で、フォルダが...
-
VBA フォルダ名に特定の文字を...
-
Access VBA で フォルダ権限...
-
フォルダにリンクを貼りたい
-
ファイル名から該当フォルダへ移動
-
同一フォルダ内の別ブックから...
-
フォルダ選択ダイアログ:ネッ...
-
Excelvbaでブックをコピー名前...
-
フォルダを開いて、閉じるのプ...
-
【マクロ】ファイル名の日付に...
-
GetAttrが原因?
-
マクロVBAのフォルダ階層別で検...
-
Excel VBA で フォルダ名の一部...
-
META-INFフォルダの置き場所に...
-
VBAで、ファイルを移動する方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
Excelのハイパーリンクについて...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
excelマクロ 冒頭3文字が一致す...
-
会社のネットワーク上のファイ...
-
フォルダ内のPDFファイル名を変...
-
Access VBA で フォルダ権限...
-
VBA フォルダ名に特定の文字を...
-
【マクロ】ファイル名の日付に...
-
フォルダを開いて、閉じるのプ...
-
カレントフォルダって?
-
パス名に2バイト文字(マルチバ...
-
保存先のフォルダ名を指定した...
-
Excelで指定したフォルダに保存...
-
Debug フォルダは消していいの?
-
ExcelのVBAでフォルダ指定がで...
-
C ファイル出力で、フォルダが...
-
vbsで選択ダイアログを表示した...
おすすめ情報