Не удаляется файл

sinet

Собственно есть файл "qwerty " с нулевым размером.
При попытке его удалить пишет ошибку, что файл не найден.
При этом, если в той же папке есть файл "qwerty", то ничего не говорит и удаляет "qwerty" вместо "qwerty ".
Чем лечить
Пробую удалять в TC и Explorer`е.
ФС - NTFS, chkdsk /f не помогает.

nas1234

а переименовать?

juliuzz

не всё понял, но может быть Unlocker тебе поможет?

sinet

На переименовать ведёт себя точно так же. Как будто считает, что "qwerty " это "qwerty".

oleg701

Клево. А как ты его создал?
Он лежит в корне диска?

sinet

Его создал ReGet.
Файл должен был называться "qwerty # ytrewq.xxx", но похоже # оно не переварило.
Нет, не в корне.

Andbar

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

Svyatogor

Лечить командной строкой:

1. Пуск->Выполнить->cmd.exe
2. <disk>:
3. cd "<path-to-containing-folder>"
4. dir /x
5. В результате будут выведены кортокие имена файлов вместе с длинными. Нужно найти короткое имя файла для указанного длинного (что-то вроде "qwerty~1"
6. del <short-name>

Альтернативный вариант:

1. Пуск->Выполнить->cmd.exe
2. del "\\?\<drive>\<full-path-to-file>\<file>" (пример: del "\\?\z:\fignya\qwerty ")
3. del "\\.\<drive>\<full-path-to-file>\<file>" (пример: del "\\.\z:\fignya\qwerty ")

Пукнты 3 выполнять если второй не сработал. Они чем-то отличаются, и когда один не работает - работает второй. Точного отличия я не знаю.
Fixed: кавычки нужны

oleg701

Если он не в корне, бэкапь файлы из папки и удаляй папку.

Svyatogor

Со знаком вопроса вместо точки нормально создается.

mkdir "\\?\c:\ "

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

sinet

Хы. Попробую.

Andbar

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