У меня есть песня, которую Windows не может воспроизвести, потому что в названии файла есть вопросительный знак.
"Where Have All the Cowboys Gone?.ogg" // as an example
Поэтому я пытаюсь переименовать его, и Windows жалуется, пробую ли я его в проводнике или из командной строки.
Ошибка при попытке скопировать, переименовать или переместить:
Неверный синтаксис имени файла, имени каталога или метки тома
Есть ли способ Windows переименовать в этом случае?
Обновить
Я буду следить за этим вопросом, но после 13 ответов и множества попыток (кроме сторонних решений) кажется, что Windows не может этого сделать (или, по крайней мере, мои окна не могут, никаких коротких имен). Поэтому я принимаю ответ, который в любом случае был моим первоначальным решением использования Linux. Было бы неплохо увидеть, как Windows справится с этим, так что не останавливайтесь только потому, что я принял этот ответ, вопрос все еще стоит!
источник
Ответы:
Захватите live-CD Linux и используйте это.
источник
Вы пробовали использовать версию с коротким именем файла? Например
Если это единственный файл в текущей папке, начинающийся с первых нескольких букв, то используйте первые 6 букв имени (без пробелов), за которыми следует тильда (~), а затем 1.
источник
Как вы увидите, результатом было то, что chkdsk фактически удалил файлы для меня. Итак, если вы хотите сохранить файлы, я не знаю, что делать, но это наверняка избавит от файлов.
Результаты / Cmd Log:
источник
chkdsk
иногда исправит неправильные имена файлов. Вы получите сообщение об удалении файла, поскольку все имена файлов недействительны, а затем восстановите утерянный файл. Затем вы можете найти файл вC:\found.000\file0000.chk
. Это эффективный способ удаления проблемных файлов, но не лучший способ сохранить их.источник
\found.000
.Я удалил упрямый файл, открыв 7zip, найдя его и переименовав в 7zip. У меня была песня с пробелом в конце файла.
источник
Попробуйте указать путь UNC (см. Имена файлов, пути и пространства имен ). Это обходит все виды ограничений. Вы бы сделали это, используя
\\?\
синтаксис.Например, если ваш файл был на вашем рабочем столе (а ваш диск Windows - C :), вы можете сделать
Примечание: Вы не можете использовать относительные пути с этим синтаксисом; Вы должны указать полный путь. И это не работает с
ren
командой, но работает сcopy
иmove
.источник
\\?\
просто обходит обработку пути к файлу в библиотеке времени выполнения пользовательского режима. Он не позволяет открывать имена файлов, которые содержат 5 подстановочных знаков (*? "<>), Другие зарезервированные символы (/ |: \) или управляющие символы.\n
. Не спрашивайте меня, как я его создал (ну, я пытаюсь понять, можете ли вы создать несколько файлов с одинаковым именем в Windows). Explorer, FreeCommander не может удалить его, но\\?\C:\...
может.Используйте Recuva . Он в первую очередь предназначен для восстановления удаленных файлов, но также имеет возможность включить в сканирование не удаленные файлы.
После запуска Recuva откажитесь от мастера и выберите нужный диск. Затем перейдите в «Параметры», найдите и проверьте опцию «Поиск не удаленных файлов» и запустите сканирование. Через некоторое время будут показаны все файлы на диске (независимо от того, удалены они или нет). Найдите ваши файлы с недопустимыми именами (имена уже зафиксированы в представлении), выберите их, щелкните правой кнопкой мыши и сохраните («восстановить») где-нибудь.
Я только что сделал это (на Windows XP).
источник
/n
которым 7-zip не мог манипулировать.Инструмент Microsoft DISKEDIT.EXE - это низкоуровневый инструмент для непосредственного чтения и записи необработанных данных на диске. Вы должны быть в состоянии загрузить кластер, содержащий запись каталога для этого файла, и просто изменить ошибочный '?' персонаж к чему-то безобидному и запишите его обратно на диск.
Насколько я понимаю, средство Microsoft diskedit (не одноименное средство Norton Utilities, предназначенное только для томов FAT) в последний раз использовалось в Windows 2000 SP4. Но есть ссылка на него, которую можно найти здесь .
Чтобы найти нужный кластер, вы можете скачать пробную версию DiskExplorer для NTFS .
Вы должны начать с File-> Drive ..., чтобы открыть диск, содержащий этот плохой файл. Выберите Goto-> Root Directory, чтобы получить представление каталога. Перейдите в каталог, содержащий ваш плохой файл, используя ссылки MFT #. Когда вы попадете туда, в верхней части окна появится что-то вроде: «MFT # x12345 DIR:« dirname », ... бла-бла-бла ... начиная с кластера x9302AE , ... бла-бла-бла"
Теперь перейдите к Microsoft diskedit. Сначала выполните File-> Open ... и укажите имя тома C: (если файл находится на вашем диске C:). Оставьте имя файла тома пустым. Возьмите этот начальный номер кластера и введите его в diskedit в разделе Read-> NTFS Clusters ...-> Starting Cluster (введите его как шестнадцатеричное число).
Теперь используйте клавиши со стрелками для прокрутки вниз к неправильному имени файла. Он в юникоде, так что вы будете искать что-то вроде «Где. У вас есть. Все. Ковбои. Ушли? ... ogg» Наведите курсор на плохой символ «3F» и введите что-нибудь безопасное, например 5F (' _ '). Выберите Write-> It, чтобы записать его обратно на диск.
Есть еще одно место для удара (не уверен, что нужно одно или оба). Теперь, вернувшись в DiskExplorer, нажмите на Mft # для плохого файла. Вы увидите экран с изображением дерева слева, на котором написано «структуры». Нажмите на «Атрибуты» в дереве. Он покажет вам список атрибутов, одним из которых будет что-то вроде $ 30 ... $ FILE_NAME. Итак, 30 долларов имеют имя файла. Нажмите на узел Body под узлом $ 30 в дереве структур. Выберите меню View-> как Hex. Несколько строк вниз, вы должны снова увидеть имя файла Где .Have ... и т. Д. В левой части экрана вы увидите столбец Sector, который показывает, на какой сектор диска вы смотрите.
Вернемся к дискотеки. Сделайте Read-> Sectors ... и введите номер сектора из DiskExplorer. Как и прежде, прокрутите вниз и замените символ «3F» тем же символом, что и выше. Выберите Write-> It, чтобы записать его на диск.
Я сделал все это, и инструменты говорят мне, что я изменил характер, но исследователь не делает. Каталог должен быть где-то кэширован. После перезагрузки изменение становится видимым.
источник
Попробуйте использовать сторонний инструмент, такой как инструмент Ken Rename :
или переименовать мастера .
Вот список инструментов переименования файлов .
Я бы сам их протестировал, но у меня 64-битная Windows Vista; обработка файлов может отличаться.
Если эти инструменты не работают, вы можете попробовать Windows PowerShell . См. Переименование файлов в блоге Windows PowerShell .
источник
Вы пытались переместить его в файл с правильным именем?
источник
copy
командой.?
или,*
или,<
или,>
или:
, и-copy
только сработало? (Я только попробовал это, и это не для меня, неудивительно.)copy
командой. Ты тоже пробовалcygwin
и команду bashmv
?"
,|
,/
и, конечно , обратный слеш (который я не могу войти здесь :))) в другой класс проблемных символов ( зарезервирован ), и, боюсь, ниcopy
команда, ни команда неCygwin
могут обойти их переименованием. (Скорее всего, у вас было несколько разных символов в имени вашего проблемного имени.)a
.В
cmd.exe
дороге в новый каталог и введите следующую команду :Это для простоты. Затем вы можете переименовать его в XP , как вы хотите, как
1.ogg
вWhere Have All the Cowboys Gone.ogg
.ogg
был только пример, расширение может быть чем угодно.источник
Если у вас установлен Cygwin, он сможет позаботиться о файле. У меня была эта проблема только сейчас, и использование rm из Cygwin в оболочке bash смогло удалить файл очень хорошо, когда не помогло ни одно приложение Windows, в том числе Explorer, в том числе попытка использования спецификации файлов UNC с CMD.exe.
Я полагаю, что mv сделает это, если вы захотите сохранить файл.
Базовая установка Cygwin занимает всего несколько минут, и я всегда держу ее в руках, потому что есть так много хороших инструментов. Это проще, чем загружать Linux, даже используя live CD.
источник
\\?\
также будет работать в этом случае - при правильном использовании с Юникодом, полный путь. Он обходит код библиотеки времени выполнения пользовательского режима, который эмулирует какое-то странное старое правило MS-DOS из 80-х, которое игнорирует пробелы в конце имен. Проблема с недопустимыми и зарезервированными символами не может быть решена следующим образом.Предполагая, что речь идет о томе FAT32 или NTFS, попробуйте запустить chkdsk. Это должно очистить «поврежденные» записи каталога, что будет (в данном случае) означать удаление?. Если это загрузочный том, вам может потребоваться перезагрузка, чтобы сделать это.
источник
:
и после этого каталог исчез. НЕ делай этого.chkdsk
переместил содержимое папки в корневой директории на жесткий диск в скрытую папку , и я был в состоянии получить мои файлы там увидеть: superuser.com/a/320654/2293Это должно работать (по крайней мере, для меня):
Эта команда выведет что-то похожее на это:
Это
WH5E97~1
то, что вы ищете!(Обратите внимание: такой код полностью придуман, но должен быть похож на тот, который вы найдете)
Зная это, простой
должен сделать свое дело.
Надеюсь, это поможет.
источник
dir t97*
возвращает оба файла, так как звездочка соответствует файлt.txt2
сt97.txt
помощью его краткое название картыT97B4~1.TXT
ты пробовала:
может работать.
источник
Попробуйте подстановочный знак на ходу -
Вероятно, это ваш лучший выбор, если только один файл соответствует шаблону.
источник
перетащите в новую папку, перейдите в командной строке к этой папке и введите
источник
Попробуйте cygwin переименовать файл:
команда будет:
mv filename?.ogg filename.ogg
источник
Большинство внутренних команд Microsoft контролируются при наличии
explorer.exe
.Откройте диспетчер задач и просмотрите список текущих активных процессов. Вы найдете
explorer.exe
среди них. Щелкните правой кнопкой мыши и завершите / остановите / закройтеexplorer.exe
. Пока не закрывайте диспетчер задач. Теперь перейдите к оскорбительному файлу с помощью вторичного файлового менеджера и попробуйте удалить или переименовать с использованием подстановочных знаков. Это, вероятно, будет успешным.Теперь вернитесь в окно диспетчера задач и щелкните правой кнопкой мыши верхнюю строку с надписью «Приложения», затем выберите нижнюю кнопку с надписью «Новая задача». Введите
explorer.exe
. Исследователь обнаруживается снова, и оскорбительный файл больше не там.источник
Графический интерфейс WinRAR позволит вам переименовать файлы, даже не упаковывая их в архив. Я проверил это в Windows 8.1 на очень длинном имени файла. Работал как шарм.
источник
Если у вас есть WinRAR, упакуйте его в WinRAR, переименуйте в WinRAR, распакуйте его.
Или вы можете попробовать с VBScript, взять следующий скрипт и сохранить его в файл с расширением .vbs .
источник
У меня также была похожая проблема с папкой. Имя папки было ".min." что обычно не допускается.
Переименовать не разрешено (нажмите для изображения)
Используя Winrar я смог решить эту проблему. То, что я сделал, было
Добавить в архив ... (щелкните для изображения)
Это разрешено, поскольку Windows на самом деле не проверяет, что находится внутри файла .rar. Как только вы измените имя, распакуйте файл, и все готово.
Надеюсь, это поможет.
источник
10:2
.Используйте cmd.exe в этом каталоге с подстановочными знаками. Например:
источник
Файловый менеджер 7-Zip (7-zip.org) переименует файлы и каталоги, которые XP не может. Просто использовал его, чтобы извлечь файл .tar и переименовать вложенный, незаконно названный файл .chm. Не требуется LiveCD.
Tschüß!
источник
У меня была похожая проблема с 2-мя вложенными папками с подпапками. Я не мог ни переименовать, ни удалить некоторые файлы (я пробовал много способов). Наконец я нашел решение: Теракопия.
Установите его, щелкните правой кнопкой мыши папку или файл и выберите teracopy. Откроется Teracopy, затем просто нажмите
delete
илиrename
. Это переименует или удалит это.Возможно, вы захотите попробовать.
источник
Я столкнулся с той же ситуацией.
Погуглив, я узнал, что нет нативного решения.
... и я использую в качестве оболочки TCC JPSoft, который также не может обрабатывать эти проклятые файлы.
Но я также узнал, что Unlocker Седрика Колломба ( http://www.emptyloop.com/unlocker/ ) способен справиться с ним.
И у меня это было в моей настройке. Кроме того, я очень рекомендую это.
Ну, по крайней мере, это решение не предполагает выхода из среды Windows ...
источник
Я исправил FLAC-файл таким образом, используя базовую команду открытия Winamp, используя окно обозревателя программ. Когда я пошел в папку, у меня была опция переименования, в отличие от Проводника.
источник
Я сталкивался с подобной ситуацией. Ни одно из опубликованных решений не помогло мне, но я наконец нашел простое решение:
Я просто скопировал файл (да, у меня все еще было возможно копирование) на флешку, переименовал его и снова поместил обратно! Я оставляю это другим, чтобы объяснить, почему это сработало.
источник
Это не прямой ответ (например, как Windows может переименовать файл), но это работает для меня. Недопустимые файлы обычно находятся на внешнем диске, поэтому я подключаю внешний диск к своему планшету Android . Это позволяет мне переименовывать файл, который затем может быть прочитан Windows. Это касается специальных символов, но обычная проблема, которую я получаю, это имя файла, начинающееся или заканчивающееся пробелом или заканчивающееся символом '.
Я попробовал один из сторонних инструментов FlexRenamer, но он все еще борется с вышеизложенным.
источник
В большинстве случаев этот ответ бесполезен .
Меня одурачили имена файлов с символами, которые представлены в виде вопросительных знаков, хотя на самом деле это просто символы, которые не отображаются / не отображаются по умолчанию в M-шрифтах.
Должен ли я удалить этот пост? Это все еще может помочь некоторым людям ...
Попробуйте использовать встроенный в tab-файл cmd.exe.
dir /x
не помогает (NTFS была создана без поддержки коротких имен файлов):Попытка переименовать его, введя / copy'n'past название, не работает:
Чтобы это сработало, вы должны использовать табуляцию . Просто перейдите к нужному каталогу в командной оболочке cmd, введите
ren
, нажмите клавишу Tabulator и продолжайте нажимать ее, пока не появится «правильное» имя:затем наберите остальное и нажмите ввод:
Вы будете вознаграждены этим:
Это довольно утомительно, но до сих пор это всегда работало для меня с файлами и каталогами (Windows 7 и 8).
Забавное примечание:
ren
-команды в 2. и 3. идентичны, но они не будут работать без использования табуляции. И даже если вы использовали завершение табуляции, оно больше не будет работать, как только вы отредактируете имя послеren
(например, удалите и добавьте знак вопроса).источник