HID****.tmp から変換して元のテキストフNo.09472
みな さん 17/06/10 06:16
 
■ はじめに
御忙しいところ度々スミマセン。
以下,長文になってしまい大変申し訳無いのですが,
私の個人的な過失を何とか助けて頂けないものかと,相談させて下さい。

■ 経緯
あるテキストファイルを編集途中,原因不明で
いつの間にか (読み取り専用) 状態になってしまっていました。

通常の [上書き保存] が出来ないので困りましたが,
[動作環境]-[ファイル]-[自動保存] で,
[テンポラリファイルに自動保存する] を選択した状態で,
且つ [更新回数] を [1] に,[遅延時間] を最短 [40秒] にして利用しているので,
当該保存先 C:\Users\(ユーザー名)\AppData\Local\Temp\ に同名ファイルが
ついさっきのタイムスタンプで存在している事を確認し,
こっちの方を代わりに使えばいいやと安心して,
現在の謎の (読み取り専用) 状態の方は
保存せずに――というか保存出来ない――終了してしまいました。

その直後,折角の C:\Users\(ユーザー名)\AppData\Local\Temp\ の方の
同名ファイルも消滅してしまったのを目撃して,呆然。
すぐに,通常通り [上書き保存] した場合と同様の処理が行われたのだと,
察しがつきましたが,既に後の祭り…。
落ち着いて考えれば,謎の (読み取り専用) 状態の方から
[名前を付けて保存] でもしておけば良かったと猛省していますが,
原因不明の (読み取り専用) 状態であった時点で
やや焦っていて冷静さを欠いていました…。

ただ,当該 C:\Users\(ユーザー名)\AppData\Local\Temp\ に
HID5DA2.tmp というファイルが,
ほぼ同じ様なファイルサイズや近いタイムスタンプで作成されているのに気付き,
もしやと思い“最後の希望”として確保しました。
その HID5DA2.tmp を秀丸エディタで開こうとすると,
問題の消失ファイルの冒頭と同様の内容が見え始めたものの,
改行コードが無い(?)らしくすぐに 1 行の桁数の上限を超え,
内容を全ては見られませんでした。
その HID5DA2.tmp を某バイナリエディタで開いてみると,
大まかな“塊”単位で多少順序が入れ替わってはいるものの,
内容自体は(何と無く)ほぼ全て残っている様に感じられ,
ファイル末尾に元のテキストデータではないモノ――数値(?)――が
羅列されている領域も見受けられました。

■ 相談
勝手な推測で,もしも見当違いでしたらスミマセン。
この HID5DA2.tmp は,秀丸エディタの作業中の一時ファイルで,
素早い編集(挿入とか削除とか)に対応する為に
所謂“(リンクト)リスト”構造でテキストファイル内容を一時保持していて,
前述のファイル末尾の数値(?)の羅列部分は,
その管理データなのではないでしょうか。

だとすると,このバイナリファイル HID5DA2.tmp から変換して,
元のテキストファイル(――に近い物でも)を復元出来ないものでしょうか。
或いは,「秀丸エディタ」の特別な使い方(読み込みモードの設定とか)で,
HID5DA2.tmp を読み込みテキストファイルとして書き出し直せませんでしょうか。
若しくは,「ハングアップチェッカー」の様なオマケのツール群で,
何か助けになる様なモノは御座いませんでしょうか。

今回消滅してしまったテキストファイルは,
直前の *.BAK ファイルからの差分が膨大で――前述の
準リアルタイム [自動保存] 設定に甘えて,頻繁な手動保存を怠っていた
私側の落ち度――自身の記憶や手作業で復元しようも無く,
折角の HID5DA2.tmp を元に何とか機械的に復元できないものかと,
御迷惑を御掛けしてしまうのを承知で,何卒御助力賜りたく,
こうして相談文を書き込んだ次第です。
完全に元通りを復元できずとも,
HID5DA2.tmp の中に残っている分だけも救出できれば,大助かりです。

■ 質問
今回の事の起こりは,通常通り読み書き可能状態で開いて,
実際に編集したり途中で手動保存したりしている最中のテキストファイルが,
原因不明でいつの間にか (読み取り専用) 状態になってしまっていた事でした。

後学の為に知っておきたいのですが,
この様な事態が発生する原因には,何が考えられるでしょうか。
意図しない私の操作ミスでしょうか。
とは言え,編集中のファイルを途中から (読み取り専用) 状態にする操作自体を,
私は知らないのですが…。

又,もしも編集中のファイルを途中から (読み取り専用) 状態に出来るなら,
逆に,その状態から編集中のままで読み書き可能状態に切り替えるには,
どの様に操作すれば良かったのでしょうか。

■ おわりに
以上,私個人の能力ではコレ以上如何ともし難く,
何とか御助力,御助言頂けないものかと,伏して御願い申し上げます。

こんな情けない内容の長文を最後まで読んで下さり,
本当に有り難う御座います。

[ ]
RE:09472 HID****.tmp から変換して元のテNo.09473
秀丸担当 さん 17/06/10 16:15
 

読み取り専用(上書き禁止)になる操作としては、秀丸エディタのコマンドとして
「上書き禁止」というコマンドがあります。
キー割り当てでは「その他」系、メニューバーの編集では「ファイル」メニュー
や「その他」メニューに入れることができますが、このコマンドを実行すると、
ファイルの属性や状態に関係なく、秀丸エディタ上で編集できるかどうかが変わ
ります。
もしこのコマンドの場合は、もう一度コマンドを実行すると、上書き禁止状態で
はなくなります。

他には、他のアプリが同時に開いているときに、秀丸エディタで読み込もうとす
ると、上書き禁止状態でしか読み込めない場合があります。
どうなるかは、他のアプリの開き方によります。
例えば、逆のパターンでは、秀丸エディタでは[その他]→[動作環境]→[ファイ
ル]→[排他制御]→[ファイルの排他制御]がありますが、ここが「上書きだけ禁
止」になっていると、秀丸エディタで開いている最中は、他のアプリは上書き禁
止状態でしか開けないです。

自動保存されたファイルが消えるのは、該当のファイルが秀丸エディタ上で正常
の閉じたときには自動的に消えてしまいます。秀丸エディタが異常終了したり、
PCの電源を突然落としたような場合は、自動的には消えないので、そのファイル
から復元ができます。

HID****.tmpからの復元は、やってみたことはないのですが、試しにやろうとし
てみたところでは、タイムスタンプやサイズや設定など、厳密に一致している状
態を再現しないとできなさそうで、バイナリレベルでレジストリ編集やファイル
編集が必要なことになりそうで、結構大変そうです。
現状では、体裁は再現できないかもしれませんが、テキスト内容だけであれば改
行の無い状態である程度わかる部分があると思うので、その内容から救出してい
ただくしかなさそうです。
とても長い一行だと秀丸エディタで編集がしにくいと思いますが、適時改行を入
れたり、後半の文字化けしている部分を削ったりすると見やすくなると思います。

[ ]