Не удается удалить определенные шрифты в Windows 7

19

У нас есть профессиональная машина Windows 7 x64, на которой невозможно удалить некоторые, но не все шрифты. Проблемные шрифты, о которых идет речь, - это не системные шрифты или шрифты Microsoft Office (я думаю, они не обновили список для Office2010). Один пример: StoneSansOSITC TT (имя файла IT243__.ttf). Любопытно, что другие шрифты в той же семье могут быть удалены, около полдюжины.

Сообщение об ошибке выглядит примерно так: «Этот файл используется и не может быть удален [попробуйте еще раз] [пропустить]» .

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

Я использовал Process Explorer для поиска дескриптора открытого файла, и он определяет, csrss.exeчто этот файл открыт, а также ряд других шрифтов. Я доказал, как говорится в статье в Википедии о csrss , что завершение процесса приводит к синему экрану смерти.

Как отследить, какое приложение / служба / процесс вызывает постоянное использование этих файлов, и закрыть их?

Обновить:

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

В этой теме есть изображение сообщения об ошибке, которое мы видим: шрифт не может быть удален, потому что он находится в диалоговом окне ошибки

Мы попробовали программу Unlocker, упомянутую здесь , и хотя она идентифицировала заблокированные файлы в каталоге шрифтов, они не соответствовали тем, которые мы пытались удалить.

Мэтт Уилки
источник

Ответы:

13

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

орел
источник
1
Ух ты, это прекрасно сработало для меня, и я без ума от этого. Потратил некоторое время в безопасном режиме / попытка разблокировки и т. Д. И т. Д., Но это работало как шарм.
Валентин Кузуб
Некоторое время я использовал NexusFont для просмотра шрифтов, но так и не понял, что это решит и эту проблему. Благодарность!
naveed
10

Решение Мэтта Вилки работает. В Windows 8 есть еще более простой способ. Просто откройте командную строку с повышенными правами как администратор и введите следующую команду:

del /f /s /q /a "C:\Windows\fonts\my-font.ttf"

Это заставит удалить файл и все. Также обратите внимание, что перезагрузка может потребоваться после редактирования, если шрифт не работает (в основном из-за путаницы с семействами шрифтов, если у вас несколько типов одного и того же шрифта)

Тим
источник
1
Это сработало, но убедитесь, что вы используете CMD, а не Powershell с повышенными правами администратора.
Майк Аверто
10

Обнаружил заднюю дверь, которая работает, в основном, но все еще есть некоторые необъяснимые странности, как, например, Windows считает, что шрифты все еще установлены, пока цикл завершения / завершения не завершен, и что, если удаленный шрифт будет позже переустановлен, Windows говорит, что шрифт уже установлен, даже если он не отображается в списке. К счастью, такие приложения, как Adobe Illustrator, видят правду в любом случае, что является желаемым результатом в любом случае.

Кладж:

Откройте два окна Windows Explorer, (для удобства вставьте их вправо и влево с помощью winkey- left, winkey- right.) С одной стороны получите доступ к папке шрифтов напрямую, минуя запутанный диспетчер шрифтов панели управления, с помощью \\machine-name\c$\Windows\Fonts. На другой перейдите к C:\Windows\Fonts, который переключится в представление Font Manager.

На стороне FM найдите каждый шрифт, который нужно удалить, выберите> свойства, чтобы получить фактическое имя файла, а затем удалите этот файл из другого окна проводника.

удалить проблемные шрифты по пути UNC

Обновление: в окне C: \ Windows \ Fonts щелкните правой кнопкой мыши заголовок столбца, и вы сможете отобразить имя файла (а затем щелкните заголовок, чтобы отсортировать по пути!).

подробное представление столбцов контекстное меню

Мэтт Уилки
источник
4
Некоторые шрифты могут иметь несколько файлов (b, z, i, l и т. Д.). Вам придется удалить их все, чтобы полностью удалить конкретный шрифт.
ADTC
А для тех из нас, кому тупо удалось скачать тысячи шрифтов ... удачи.
Лейгеро
4
Вам также необходимо войти в систему как администратор и удалить ключи реестра для соответствующих шрифтов, в HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts.
JPaget
4

На самом деле, если вы все еще не можете удалить шрифты, потому что Windows говорит, что они используются, загрузитесь в безопасном режиме только с командным окном. cd to c: \ Windows \ Fonts и удалите шрифты прямо отсюда. Это работало как чемпион. Обратите внимание, что вам нужно будет записать имена файлов шрифтов, которые вы хотите удалить, прежде чем вы перезагрузитесь в безопасном режиме.

Eds
источник
Джорджи Кейси уже говорила, что использует безопасный режим в августе , хотя даже тогда некоторые все еще использовались.
Мэтт Вилки
2
@mattwilkie Безопасный режим не является командной строкой безопасного режима. Преимущество командной строки в безопасном режиме заключается в том, что многие процессы, которые могут открывать шрифты, такие как Windows Explorer, не запускаются. Единственный более эффективный способ избежать открытия файлов - это Recovery Shell.
MetaEd
Это должен быть принятый ответ, так как он будет работать всегда
Gusman
@Gusman ... после определения правильного имени файла (ов) для шрифтов, которые нужно удалить, да, это всегда будет работать.
Мэтт Уилки
2

Я просто запустил Windows 7 в безопасном режиме и затем удалил шрифты. Работал нормально без ошибок в использовании файла.

редактировать: оказалось, что я получил файл в ошибке использования в безопасном режиме на некоторых файлах! поэтому я загрузил Cygwin в безопасном режиме и удалил туда. Работал.

georgiecasey
источник
Также см @ комментарий MetaEd к другому ответу здесь , об использовании в безопасном режиме командной строки , а не только в безопасном режиме.
Мэтт Вилки
1

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

Все, что мне нужно было сделать, это открыть меню «Организовать», подменю «Макет» и снять флажок «Панель сведений». Теперь я мог удалить шрифт.

Я использую Windows 10 Creators Update, но панель управления выглядит так же, как версия для Windows 7. Если это работает для тех, кто использует Windows 7 или 8, пожалуйста, прокомментируйте, и я обновлю ответ.

Тель
источник