当たり前だがWolfram社のmathematicaのファイルも、他のファイルと同様に破損することがある。ある日、Mathematicaのファイルが破損していることが分かり、修復に手間取ったので、そのときに取った方法の覚書として、この記事ではmathematicaファイルがが壊れたときに、自動で修復する方法をまとめておく。
症状 いつものようにファイルを開こうとすると以下のようなエラーメッセージが出てきてしまった。
「読み込み中のファイルに文法エラーを検出しました。テキストファイルとして開きますか?」
「はい」を押すと「2413行目(ファイル名.nb)に文法エラーがあります.エラー:」といった警告文が表示され、テキストファイルとして出力されたMathematicaのソースコード(見ても読めない。。)が表示される。
修復方法 新しいノートブックを開いて以下のコードを実行する。(AuthorToolsパッケージを読み込んで、NotebookRestore関数を実行する。)
Quiet[<< AuthorTools`]
NotebookRestore[]
このとき、以下の公式サイトではコマンドが
NotebookRestoreAT[]
となっているが、このような関数は私のMathematicaのバージョン(Mathematica11.2)では存在しなかったので注意。
破損したノートブックを AuthorTools パッケージで修復する方法
正しいコードを実行すると、ファイルを選択するウィンドウが開くので、破損したファイルを選んで開く。するとファイルが自動で修復されて、データを回復できた部分が新規のノートブックとして開く。このノートブックを新たに保存しておくことをおすすめする。
追記 原因はよくわかっていないが、後ほど、壊れたMathematicaファイルを他のフォルダなどに移動したり、名前を変更したりするだけで、普通に開くことができた。なぜなのか全くわからないが、同じ症状にあった人はファイルを修復する前にお試しください。
コメント