2

У меня был Блокнот ++ с как минимум 50 открытыми файлами, который организовывал всю мою работу.

Я оставил компьютер как всегда спящий на ночь и удивленный, этим утром все пропало.

При максимизации Notepad++ выскакивало сообщение об ошибке, что-то в файле не удалось открыть.

Я принял ошибку, и в Notepad++ на ней не было файлов.

После перезагрузки ничего не изменилось, и в папке резервных копий я обнаружил только отдельные старые грязные файлы, над которыми я работал давным-давно ...

Любые мысли о том, как восстановить мою драгоценную рабочую сессию?

Спасибо,

2 ответа2

2

Вы не можете, но вы можете избежать повторения этого.

Это возможно, если ваш облачный путь установлен в Предпочтения:

После поломки немедленно отключите синхронизацию с облаком и восстановите исходный файл оттуда. Если в вашем облаке есть управление версиями файлов, то это проще: просто найдите старую версию sessions.xml .

Это также работает для всех других файлов настроек, см. Ссылку выше для деталей.


Также убедитесь, что вы обновили хотя бы до Notepad++ 7.5.9.

В списке исправленных ошибок есть

  1. Исправьте возможные повреждения файлов во время резервного копирования или потери питания или другого ненормального завершения N++.

Так что да, это было решено в октябре 2018 года.

0

Спасибо Джо Пинеде за его комментарий к резервной папке. Потеряв потерпевший крах сеанс, я увидел, что в этой папке было много файлов - как несохраненных заметок, так и открытых существующих файлов. Они имели ненулевой размер в байтах, но ни обычный Блокнот, ни сам Блокнот ++ ничего не отображали. Тем не менее, вы можете прочитать их в Linux.

Не забудьте сделать копию своей резервной копии на случай, если что-то неожиданно пойдет не так.

Я восстановил свои несохраненные заметки, составив список имен файлов и удалив "new" из имени файла (Windows просто любит пробелы в именах файлов).

for note in $(ls new*); do echo $note | grep -v new; done

Этот список имен может быть сохранен в переменной, а затем файлы могут быть скопированы, например, в .txt:

filenames=$(for note in $(ls new*); do echo $note | grep -v new; done) 
for f in $filenames ; do cp 'new '$f 'new '$f.txt; done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .