バックアップのお手伝いで添付ファイルのNo.48503
hajimet さん 15/09/12 10:31
 
秀丸メールいつも便利に活用させて頂いております
さて掲題につき
【背景】
先日(ケアレスミスで)バックアップのお手伝いで
現役のアカウントの中身をほぼ丸ごと移動させてしまいました。
ヘルプに“「パックアップのお手伝い」を逆方向に実行”
との記載があったので概ねは事なきを得た感じです。
ありがとうございました。
ところでその際に気になった件がありましたのでご報告です。
【本題】
ミスを犯した際、途中で中断したのですが、その理由が、
時々「添付ファイルの移動に失敗したが作業を継続する」というような
内容のエラーがぱらぱらと出たからなのです。
“逆方向に実行”をした場合にも再びエラーが出ました。
素人的な推測では、パス名を含むファイル名が長すぎて移動できない、
という事態が生じたのかと思っています。
“逆方向に実行”でまた出たのは、
アカウント名に“バックアップ-”が付され
さらにパス名が長くなったからなのでは、と云う推測です。
事後にフォルダをファイラで覗いたのですが、
移動元の“○○添付”のフォルダは空でした。
この場合移動に失敗した添付ファイルは消失した、
という理解で宜しいでしょうか。

[ ]
RE:48503 バックアップのお手伝いで添付フNo.48504
秀まるお2 さん 15/09/12 13:15
 
 添付ファイルのファイル名のパス名が長くなりすぎると、たしかにその
ファイルの移動で失敗する可能性はあると思います。

 一応、ファイルのパス名が長くならないように工夫してるつもりではあります
が、アカウントをまたがって移動してオーバーするケースは考えてなかったよう
な気がします。

 その辺見直してみます。

 とりあえず、移動に失敗したファイルは無くなってはないはずでして、それを
探す方法も1つあります。「設定・全般的な設定...」の「上級者向け・
デバッグ」ページの中にある

 「リンク切れ添付ファイル/HTMLメールの検索...」

 を実行すると、リンク切れになってる添付ファイルの一覧が出てきます。その
一覧をコピペしていただければ、無くなったファイルの一覧にはなるかと思いま
す。

 とりあえずその状態で一回バックアップを取っていただいて、もし古いメール
でリンク切れの添付ファイルが必要になったら、先ほどの一覧とバックアップか
らなんとかファイルを探していただくって作戦をお願いしたいです。

 とりあえず、リンク切れ自体を直すことは無理だと思うので、僕の方ではこう
いうことが無いように、アカウントをまたがってメールを移動/コピーする時の
添付ファイルの処理を見直して、同じことが起きないように修正したいと思いま
す。

[ ]
RE:48504 バックアップのお手伝いで添付フNo.48505
hajimet さん 15/09/12 14:54
 
ありがとうございました。
なにかミスを重ねたのかも知れませんが、
> 「リンク切れ添付ファイル/HTMLメールの検索...」
はなかったです。
それもそのはず、
そもそも移動元の“○○添付”のフォルダの中身の
あるだろう筈のサブフォルダが無い状態で(つまり、空)・・・
なのでどのファイルがってのはちょっと確認の手段が失われてしまってます。

[ ]
RE:48505 バックアップのお手伝いで添付フNo.48506
秀まるお2 さん 15/09/13 15:44
 
 出来たら参考までに、4点ほど教えて欲しいです。

 1.メールデータ用のドライブのファイルシステムが何か等。

   内蔵ハードディスク(C:ドライブ)のNTFSファイルシステムなのか、
   それともUSBメモリ上のFAT32ファイルシステムなのか、あるいは
   NAS上のドライブだとか…

 2.添付ファイルが無くなってしまってるファイル名の例というか、
   X-Attach:ヘッダの例

 3.メールデータ用のフォルダのパス名、例えば

    C:\Documents and Settings\Hideo\Docuemts\TuruKameData

   とか。

 4.「バックアップのお手伝い」をしたアカウントの名前か、出来たら
   それを、全角文字は全角の「●」、半角文字は半角の「X」とかに
   伏せ字にした文字列。

 を教えていただければ、こちらで再現テストできるかなぁと思います。

 メールデータ用のフォルダの場所も、必要なら伏せ字にしていただいていいで
すが、その場合も、全角文字は「●」、半角文字は「X」みたいに、全角か半角
かの区別だけ分かるように教えて欲しいです。

 どっちにしても、フォルダの移動に失敗した場合の対応策は何か考えたいと思
いますが、それとは別に、パス名の長さ制限にひっかかってる場合にはパス名
(添付ファイルのファイル名)を短く改変するような処理を追加しようと思いま
す。

[ ]
RE:48506 バックアップのお手伝いで添付フNo.48507
秀まるお2 さん 15/09/13 16:06
 
 追加ですみません。

 伏せ字にする/しないは別にして、ここの会議室に書き込んでいただくのが都
合悪そうでしたら、"maruo@mitene.or.jp"宛に送っていただいてもいいです。

 あと、エラーケースの場合に添付ファイルが無くなってしまうのかどうかも、
明日辺りテストしてみて、何か分かったら書き込みさせていただきます。

[ ]
RE:48507 バックアップのお手伝いで添付フNo.48509
秀まるお2 さん 15/09/13 17:22
 
 っといろいろ書いておきながらすみません。NTFSファイルシステム上で、非常
に長いフォルダをメールデータ用に指定して、さらに、限界ぎりぎりの非常に長
いアカウント名でテストしたら、そもそも的に添付ファイルの移動以前でおかし
い現象が起きました。

 とにかくこちらで再現出来そうなので、とりあえず詳細は送っていただかなく
ても大丈夫そうです。

[ ]
RE:48506 バックアップのお手伝いで添付フNo.48518
hajimet さん 15/09/14 23:53
 
お返事が遅くなり申し訳ありませんでした。
> 1.メールデータ用のドライブのファイルシステムが何か等。
→内蔵ハードディスク(C:ドライブ)のNTFSファイルシステムです
> 2.添付ファイルが無くなってしまってるファイル名の例というか、
→申し訳ありません。記録し損ねました。
 あまり特殊な名前ではないものが多かった気がします(長かったのは確かですが)
> 3.メールデータ用のフォルダのパス名、例えば
→C:\Users\XXXXX_0000\Docuemts\TuruKameData
> 4.「バックアップのお手伝い」をしたアカウントの名前か、出来たら
→XXXXX.XXXXXX を バックアップ - XXXXX.XXXXXX に行い その後、
 バックアップ - XXXXX.XXXXXX から XXXXX.XXXXXX に戻す作業をしました。
 両方の過程でエラーがでました。前者については途中で中断しました。
 後者を実施した後、バックアップ - XXXXX.XXXXXX フォルダ内の、
 “送信添付”などのサブフォルダの中身を確認しましたが空でした。

> どっちにしても、フォルダの移動に失敗した場合の対応策は何か考えたいと思
>いますが、それとは別に、パス名の長さ制限にひっかかってる場合にはパス名
>(添付ファイルのファイル名)を短く改変するような処理を追加しようと思いま
>す。
→そうですね。移動に失敗しました、の際に何が生じているのか良く理解できず、
 混乱しました。エラーログにファイル名が残るだけでもだいぶ違うと思います。

[ ]
RE:48518 バックアップのお手伝いで添付フNo.48523
秀まるお2 さん 15/09/15 16:47
 
 情報ありがとうございます。

 秀丸メールの方での添付ファイル・ファイル名ですが、パス名の全体の長さが
半角文字で250文字程度になるように制限してるだけのようでした。なので、
アカウント名が長くなると、制限オーバーになってリンク切れになるようです。

 あと、WindowsのNTFSファイルシステムの仕組みとして、ファイル名が制限
(ユニコード文字で260文字まで)を超えるとパス名が勝手に変化するようなや
やこしいことがあるようです。

 例えば、

 C:\xxx....xxxx\yyy...yyy\sample.txt

 みたいなファイルがあって、その長さが制限ギリギリの状態で、「sample.
txt」を「sampleXXX...XXX.txt」みたいに長くすると、ファイル名の変更は失敗
せず、後でそのファイルのプロパティを見ると、ファイルの所在場所が、

    C:\xxx~1\\yyy...yyy

 みたいに勝手に省略されて出てくるようです。こういう仕組みのおかげで
ファイル名の長さ制限を超えないようしてるようです。

 とりあえず、ファイル名が長さ制限を超えそうになったら短くカットするよう
な処理を追加しつつ、エラーケースもいろいろテストしてみます。

[ ]
RE:48523 バックアップのお手伝いで添付フNo.48524
hajimet さん 15/09/15 17:38
 
ありがとうございました。
ということは蓋然性の高いシナリオとしては、
事前にリンク切れチェックをしていたら、既に切れいていたはずのケースで
バックアップのお手伝いの際に移動に失敗のエラーが出、
さらに移動先で「バックアップ-」の文字列分だけ増えるので、
制限オーバーでリンク切れ状態になったケースが若干増え、
戻しお手伝いの際に移動失敗として見えてきた、ということでしょうか。
いずれにしても改善のヒントとなる報告となったようでよかったです。

[ ]
RE:48524 バックアップのお手伝いで添付フNo.48525
秀まるお2 さん 15/09/15 18:49
 
 現段階で分かったてることですが…

 アカウントをまたがってメールを移動/コピーしようとして添付ファイル・
ファイル名が長くなりすぎた場合、Windowsから「ERROR_NOT_LOCKED」って
エラーが返るようで、その場合、実は別の理由があって秀丸メールはこのエラー
を無視してしまいます。

 なので、そういう理由で添付ファイルがコピーできなかった場合、添付
ファイルは無くなってしまって、しかもエラーメッセージの類も何も出ないよう
です。

 ということだけ分かりました。

 何かエラーが出たとしたら、それはまた別の問題があってエラーが出たのかな
ぁと思います。

 ちなみに「ERROR_NOT_LOCKED」のエラーが出ても無視する理由は…、実はこの
エラーはコピー元のファイルが存在しないだけでも出ることのあるエラーでして、
コピー元が存在しない場合にはエラーを無視しないといけないということで、無
視してるようです。

 ERROR_PATH_NOT_FOUNDとなるべき所がなぜかERROR_NOT_LOCKEDが返ることがあ
って、その対処のために、ERROR_NOT_LOCKEDはERROR_PATH_NOT_FOUNDと同じ扱い
にしてしまってました。ただ、コピーの場合はコピー先のファイルにエラーがあ
った場合もこのエラーが出るということなので、これまた何か対策を入れないと
いけないです。

 なかなか世の中難しいというか、奥が深いです。

 とりあえず、移動できなかった添付ファイルは無くなってしまってるというこ
とは間違いなさそうです。すみませんでした。

[ ]