Папки, переименованные через Windows Explorer, сохраняют оригинальное имя

3447
Álvaro González

У меня есть дерево каталогов, в котором нет ничего особенного (без сети, без символических ссылок, без странных разрешений ...), за исключением того, что некоторые папки являются рабочими копиями Subversion, управляемыми с помощью TortoiseSVN. Я использую его несколько лет без каких-либо проблем.

Сразу после физического перемещения диска на новый компьютер (не знаю, просто совпадение) я обнаружил, что не могу переименовать эти папки с помощью графического интерфейса (нажмите F2, введите новое имя, введите). Проводник Windows не жалуется и сообщает о новом имени, но папка фактически сохраняет оригинальное имя (которое появляется, когда я нажимаю на строку местоположения, в заголовке окна и в командной строке).

Это должно быть сбой Explorer, потому что я могу, наконец, сделать переименование из командной строки (rename foo bar ), но я не знаю, в чем может быть корень проблемы.

Любая идея?

17
Вы пытались нажать F5, чтобы обновить папку? Переименование папки с тем же именем заставит проводник отменить свое действие, которое произойдет во второй раз. LPChip 7 лет назад 0
@LPChip Конечно, я нажимаю F5, пока почти не потоплю ключ. И я дважды перезапустил. И я удалил внутренний каталог `.svn`. Наконец, я только что искал и удалил все файлы `desktop.ini` в дереве каталогов, и проблема, похоже, исчезла ... Álvaro González 7 лет назад 1
Просто быстрое напоминание: поскольку прошло уже более двух дней с того момента, как вы опубликовали собственное решение проблемы, вы можете пометить это как официально принятый ответ. Спасибо за ваш вклад! Run5k 7 лет назад 0

1 ответ на вопрос

25
Álvaro González

В конце концов я искал все desktop.iniфайлы в моем дереве каталогов и удалил их все. Проблема была решена немедленно:

  • Папки наконец показали свое настоящее имя
  • Новые переименования фактически произошли на уровне файловой системы

Такие файлы содержали такие записи:

[.ShellClassInfo] LocalizedResourceName=This is the new name 

... это скорее функция, чем ошибка :

LocalizedResourceName

Указывает модуль ресурса и идентификатор строки, которые будут использоваться в качестве имени папки, отображаемой при просмотре с помощью проводника или оболочки.

У меня нет ни малейшего представления о том, как Windows пришла к выводу, что я хотел перевести папку, а не переименовывать ее.

Как возможная причина: вы установили локализованный языковой пакет? Например, я купил компьютер в Стокгольме с установленным шведским языком, но я хочу использовать его на английском языке, поэтому я установил языковой пакет от Microsoft. Или, возможно, вы переключили локали между enUS и enUK, или похожими. Удаление файлов desktop.ini просто заставит ОС их перегенерировать на основе изучения структуры и содержимого папки; грубая сила, но эффективная. flith 7 лет назад 2
@flith Это испанское издание, но я не установил дополнительные языки. Álvaro González 7 лет назад 0
Вы уверены, что это на самом деле не на английском языке, а местный реселлер поставил испанский пакет поверх? Это может объяснить это. flith 7 лет назад 1
@flith Испанский - единственный язык в списке ([скриншот] (https://i.imgur.com/Kk1c1pY.png)), но его нельзя удалить. Понятия не имею, что это значит точно. Álvaro González 7 лет назад 1
Интересное примечание: Windows также использует это для «специальных» папок, таких как рабочий стол, моя музыка и т. Д., Что объясняет, почему в Windows 7 папка «Моя музыка» на самом деле `% userprofile% \ Music`. svbnet 7 лет назад 1