2011年9月23日金曜日

ファイル解凍でファイルが消える

2ヶ月ほど前までWindowsXPのPCを使っていて、今はWindows7の新PCを使っています。 XPまではファイラーはエクスプローラで十分でした。 しかしWindows7のエクスプローラは使いにくいです。 フリーのファイラーを使ってます。

で、フリーのファイラーで作業中に結構ファイルが消えて困ってたんですよね。 完全に消えたわけじゃなくて、移動やコピーに失敗しているような感じでした。 なので実害はなかったのですが、しばらくどういうときに失敗するか分からなかったので戸惑ってました。 作業をやり直さなければならないので時間はかかるし、なにより気味が悪かったです。

ファイラーを替えてみたりしたけど解消せず。 使っているうちに「フリーのファイラーは新規作成されたファイルをすぐ表示できないことがある」とか、細かい部分が少しずつ分かっていって、最終的にやっと何が悪かったのかが判明しました。 原因はアーカイバのExpLzhとファイラーとの連携失敗でした。

  1. ファイラーで圧縮ファイルを右クリックして「ExpLzhから開く」
  2. ExpLzhのファイルリストからファイラーにドラッグ&ドロップで解凍。
  3. 解凍中にファイラーで別フォルダをクリックすると解凍失敗。

というのが今回の症状です。 色々ごっちゃになってたので普通のコピーや移動もダメかと思ってたんですが、解凍したときだけが問題だった模様。

解凍失敗というのも複雑でした。 ExpLzhはまずテンポラリフォルダに解凍します。 その後解凍されたテンポラリファイルをユーザーが指定した解凍先にコピーするという仕様。 テンポラリフォルダへの解凍は成功して、その後のドラッグ&ドロップ先へのコピーで失敗していました。 エラーメッセージは無しです。 クリックした別フォルダに解凍される場合とコピー自体が失敗する場合の2パターンありました。

回避するには「ExpLzhから開く」ではなく「即時解凍」を使えばいいみたいです。 ExpLzhを選んだのは「ExpLzhから開く」でファイルリストを見れるからなので、その機能が使いにくくなるのはちょっと残念。 他に不満はないのでExpLzhは使い続けることにしました。

浅知恵ですが、ExpLzhがドラッグ&ドロップされた時点の展開先フォルダの文字列をコピーしてとっておいていないのが原因に思えます。 これが的を射ているのかは不明ですし、こういうのって根本的に何が悪くてこうなったのか判断するのは難しいですよね。 それぞれのソフトを個別に動かした場合は不具合はないんでしょうし。 単純にWindowsXPとWindows7で仕様が違うからこうなったんですかね?