Как удалить файл, который содержит пробелы в имени файла?

10

У меня есть файл с именем «Регистрация неправильного приложения», в имени файла есть несколько пробелов, теперь я не могу удалить его, он даже не позволяет мне изменить имя файла, я также пытался удалить его из своего Java-программа, она мне тоже не даст, как ее удалить?

При удалении из Проводника я получил это:

Could not find this item
This is no longer located in C:\My_Dir\.
Verify the item's location and try again.

Registering wrong app
Type: File
Siz: 0 bytes

Странно то, что этот файл невидим для системы, его размер равен 0, и в его имени есть пробел.

Фрэнк
источник
Какое сообщение вы получаете, когда пытаетесь удалить его из Проводника?
Стивен Дженнингс

Ответы:

11

Вы можете сделать это так:

del /F "\\?\C:\My_Dir\Registering*wrong*app*"

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

Если у вас нет других файлов, которые начинаются с Registering, вы можете попробовать:

del /F "\\?\C:\My_Dir\Registering*"

Если файл не может быть удален, используйте Process Explorer, найдите дескриптор и завершите процесс владения.

Найти -> Найти дескриптор / DLL ( CTRL+ F) -> Введите Registering-> Убить соответствующие процессы.

Тамара Вийсман
источник
вместо Process Explorer используйте «unlocker» (ccollomb.free.fr)
Алекс Анджелико,
8
вместо разблокировщика используйте «Process Explorer» ( Microsoft Windows Sysinternals ) , безопасный и полезный ;-)
Тамара Вийсман
1
Человек, этот ответ возвращает меня к DOS 3.1 дня. Всегда можно «перейти в DOS» (теперь это командный блок). Спасибо за эффективную ностальгию.
Майк
9

Откройте командную строку и перейдите в каталог My_Dir

cd \My_Dir

Получить краткое (8.3) имя файла для файла.

dir /a /x /p

Вы должны увидеть что-то вроде

02/13/2011  07:25 PM             1,010 REGIST~1     Registering Wrong App

REGIST ~ 1 является коротким именем файла. Попробуйте команду del с этим именем.

del REGIST~1
Патрик Сеймур
источник
3
Этот ответ (с короткими именами) замечательный и намного проще, чем приведенные выше решения с дополнительными программами! Я не знаю, почему это не было принято. В любом случае, это сработало для меня (возможно, удалите папку с конечным пробелом в имени, созданную Dropbox), спасибо, человек!
texnic
2
Пожалуйста. Есть много причин, по которым один ответ принимается поверх другого. Отчасти прелесть Stack Exchange в том, что даже не принятые ответы остаются в силе, поэтому люди с похожими проблемами могут наткнуться на них позже.
Патрик Сеймур
2

Попробуйте поместить имя файла в кавычки, но замените пробелы на вопросительные знаки, например так:

del "регистрация? неправильно? приложение"

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

Роджер
источник
1

Пробелы не должны иметь значения, если вы пытаетесь удалить файл из Проводника. Если вы пытаетесь удалить из командной строки, просто поместите имя файла в кавычки, как это del "Registering wrong app ".

Если это не работает, у вас есть что-то еще, кроме пробелов в имени файла ... как процесс, который «блокирует» файл, предотвращая тем самым удаление.

ubiquibacon
источник
1

Удалить каталоги или файлы с пробелом в нем:

dir /a /x/ /p

"files or dirs with space"

c:\DIR1WITHSPACE~1
c:\DIR2WITHSPACE~2

ren DIRWITHSPACE~1 TEST

del test

"Job done...."
Барт
источник
0

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

jamesakadamingo
источник