Как отобразить/иным образом получить доступ к файлам, невидимым для Windows

У меня есть очень старое приложение, которое я годами переносил с компьютера на компьютер. Я, вероятно, работал с NT или, может быть, даже с Windows 95, когда получил ее. Он по-прежнему работает нормально, но недавно я попытался сделать резервную копию некоторых файлов, созданных с его помощью, и обнаружил, что они скрыты. Когда я запускаю приложение, я могу их читать или записывать, но когда я пытаюсь получить к ним доступ через командную строку или проводник Windows, они не найдены. Я могу видеть их из командной строки cygwin, но я бы предпочел проводник.

Моя теория заключается в том, что это связано с тем, что мое приложение настолько старое, что оно помещает пользовательские данные в c:\ProgramFiles(x86)\MyApp\data, а не в какой-либо каталог User\AppData, с которым более поздние версии Windows более довольны.

Что я пробовал:

  • Использование атрибута для удаления скрытых атрибутов (сбой из-за проблемы с разрешением)
  • То же самое, но запуск attrib в окне cmd с правами администратора (нет сообщения об ошибке разрешения, но файлы впоследствии не отображаются)
  • Копирование с использованием командной строки cygwin (получил бесполезное сообщение «исключение каталога `data'»)

Любые предложения, что я мог бы попробовать дальше? Я использую Windows 7.

Я был бы доволен исправлением, которое я мог бы сделать один раз и исправить его навсегда (как-то установить разрешения?); Я бы удовлетворился обходным путем, например «выполнять следующую команду каждый раз, когда вы хотите создать резервную копию файлов»).

Редактировать: я заметил кое-что странное, что может быть ключом к разгадке для кого-то более осведомленного, чем я: для файлов, которые были недавно изменены, а не созданы, выполнение каталога показывает информацию о файле для старая версия, хотя cygwin показывает новую информацию, и это то, что я вижу, когда читаю файл с помощью приложения.


person Paul    schedule 13.05.2015    source источник
comment
Вы ищете этот каталог? C:\Users\[username]\AppData\Local\VirtualStore\Program Files или попробуйте этот: C:\Users\[username]\AppData\Roaming\VirtualStore\Program Files   -  person Barmak Shemirani    schedule 14.05.2015
comment
@Barmak Нет, мое приложение настолько старое, что оно никак не может знать о таких новомодных вещах, как AppData.   -  person Paul    schedule 14.05.2015
comment
Если старое приложение попытается выполнить запись в защищенный каталог, например c:\program files, Windows перенаправит его в другое место, а именно в VirtualStore. Вы хоть посмотрели?   -  person Barmak Shemirani    schedule 14.05.2015
comment
@Barmak Прошу прощения, я даже не предполагал, что такая вещь, как перенаправление, возможна. Ты совершенно прав; недостающие файлы находятся в VirtualStore. Мне любопытно, как я мог видеть их с помощью cygwin, но, что касается моей непосредственной проблемы, это решает проблему. Большое спасибо, не только за решение моей проблемы, но и за то, что научили меня чему-то, о чем я не знал.   -  person Paul    schedule 14.05.2015
comment
Связанный вопрос: stackoverflow.com/questions/18087991/   -  person Paul    schedule 14.05.2015
comment
Cygwin является устаревшим приложением с точки зрения Windows (поскольку у него нет манифеста, объявляющего его совместимым с Windows Vista), поэтому он представляет его с устаревшим представлением диска.   -  person Harry Johnston    schedule 14.05.2015