Как заставить Windows переименовать файл с помощью специального символа?


86

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

"Where Have All the Cowboys Gone?.ogg" // as an example

Поэтому я пытаюсь переименовать его, и Windows жалуется, пробую ли я его в проводнике или из командной строки.

Ошибка при попытке скопировать, переименовать или переместить:

Неверный синтаксис имени файла, имени каталога или метки тома

Есть ли способ Windows переименовать в этом случае?

Обновить

Я буду следить за этим вопросом, но после 13 ответов и множества попыток (кроме сторонних решений) кажется, что Windows не может этого сделать (или, по крайней мере, мои окна не могут, никаких коротких имен). Поэтому я принимаю ответ, который в любом случае был моим первоначальным решением использования Linux. Было бы неплохо увидеть, как Windows справится с этим, так что не останавливайтесь только потому, что я принял этот ответ, вопрос все еще стоит!


5
Могу я спросить, как вы попали в это состояние? Windows обычно не позволяет вам сделать это.
Майкл Кохн

и ответ таков: я получил файл из коробки с Linux. на самом деле это тоже файл .ogg. но мне было интересно, так как я на работе и у меня нет Linux, как это сделать в Windows ... было бы неплохо знать
codeLes

6
Файловая система NTFS допускает некоторые символы, которых нет в Windows. Если Windows встречает такие файлы, это b0rks.
Полковник Паник

1
Когда-то у меня вышел флэш-накопитель, chkdsk переместил файлы в другой сектор, но сохранил поврежденные имена, которые содержали забавные символы, такие как CRLF или даже backspace. :)
Нулано,

1
@IvanChau: не дубликат. Этот другой вопрос касается пробела в имени, который на самом деле является куском пирога, в отличие от этого здесь (с подстановочным знаком).
Сз.

Ответы:


42

Захватите live-CD Linux и используйте это.


В любом случае, из дома я использую linux ... и файл находится на переносном жестком диске, мне просто интересно, может ли Windows справиться с этим ... что-то вроде команды Windows <b> Sudo </ b> или чего-то еще
codeLes

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

3
Недавние дистрибутивы Linux, такие как Ubuntu, успешно поддерживают самые важные функции NTFS.
Atmocreations

1
Ubuntu 9.04 абсолютно безупречна в поддержке NTFS, с одним или двумя неудобствами (например, если отключение питания, и вы загружаетесь в Ubuntu, чтобы сэкономить время загрузки в течение нескольких секунд, вы не можете получить доступ к разделу Windows, пока не загрузитесь обратно в него)
Фоши

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

29

Вы пробовали использовать версию с коротким именем файла? Например

ren whereh~1.ogg where.ogg

Если это единственный файл в текущей папке, начинающийся с первых нескольких букв, то используйте первые 6 букв имени (без пробелов), за которыми следует тильда (~), а затем 1.


12
Поскольку генерация коротких имен необязательна, в зависимости от того, как настроена Windows в настоящее время, Мерфи говорит, что в OP отключены короткие имена, а в файле их нет. Чтобы узнать короткое имя, если оно присутствует для какого-либо файла, используйте DIR / X, который добавит столбец с кратким именем для любого файла, если он отличается от длинного имени, если оно вообще есть. Если есть короткое имя, это будет правдоподобный ответ.
RBerteig

Вы действительно должны попробовать ... Короткие имена файлов иногда могут быть полезны.
Алекс

4
нет коротких имен, попробовал ваш пример, а также dir / x доказывает, что в списке нет ни одного.
CodeLes

24
  1. В Windows 7: запустите cmd.exe в режиме администратора.
  2. Перейдите в каталог с именами файлов.
  3. run: chkdsk / V / f [Мои испорченные файлы были на другом диске, отличном от диска ОС, поэтому он мог их отключить. Если это диск ОС, возможно, он должен выполнить этот этап при запуске.]
  4. Подождите (возможно, придется перезагрузить компьютер).

Как вы увидите, результатом было то, что chkdsk фактически удалил файлы для меня. Итак, если вы хотите сохранить файлы, я не знаю, что делать, но это наверняка избавит от файлов.

Результаты / Cmd Log:

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
04/04/2010  02:19 PM         4,014,099 01 Los Lonely Boys - Se?orita - www.file2
4ever.com.mp3
04/04/2010  02:18 PM         3,125,942 12 Los Lonely Boys - La Contestaci?n - ww
w.file24ever.com.mp3
               2 File(s)      7,140,041 bytes
               2 Dir(s)  87,743,991,808 bytes free

E:\islag\Music\llb>chkdsk /V
The type of the file system is NTFS.
Volume label is FreeAgent Drive.

WARNING!  F parameter not specified.
Running CHKDSK in read-only mode.

CHKDSK is verifying files (stage 1 of 3)...
  231424 file records processed.
File verification completed.
  34 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
18 percent complete. (29338 of 245164 index entries processed)
An invalid filename 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 (3196
6) was found in directory 31962.
All filenames for File 31966 are invalid.
Minor file name errors were detected in file 31966.
An invalid filename 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.mp
3 (31973) was found in directory 31962.
All filenames for File 31973 are invalid.
Minor file name errors were detected in file 31973.
73 percent complete. (233817 of 245164 index entries processed)
Index entry 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 in index $I30
 of file 31962 is incorrect.
Index entry 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.mp3 in ind
ex $I30 of file 31962 is incorrect.
  245164 index entries processed.
Index verification completed.

Errors found.  CHKDSK cannot continue in read-only mode.

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
04/04/2010  02:19 PM         4,014,099 01 Los Lonely Boys - Se?orita - www.file2
4ever.com.mp3
04/04/2010  02:18 PM         3,125,942 12 Los Lonely Boys - La Contestaci?n - ww
w.file24ever.com.mp3
               2 File(s)      7,140,041 bytes
               2 Dir(s)  87,743,991,808 bytes free

E:\islag\Music\llb>chkdsk /V /f
The type of the file system is NTFS.
Cannot lock current drive.

Chkdsk cannot run because the volume is in use by another
process.  Chkdsk may run if this volume is dismounted first.
ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID.
Would you like to force a dismount on this volume? (Y/N) y
Volume dismounted.  All opened handles to this volume are now invalid.
Volume label is FreeAgent Drive.

CHKDSK is verifying files (stage 1 of 3)...
  231424 file records processed.
File verification completed.
  32 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
18 percent complete. (29339 of 245164 index entries processed)
Deleted invalid filename 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3
(31966) in directory 31962.
File 31966 has been orphaned since all its filenames were invalid
Windows will recover the file in the orphan recovery phase.
Correcting minor file name errors in file 31966.
Deleted invalid filename 12 Los Lonely Boys - La Contestaci?n - www.file24ever.c
om.mp3 (31973) in directory 31962.
File 31973 has been orphaned since all its filenames were invalid
Windows will recover the file in the orphan recovery phase.
Correcting minor file name errors in file 31973.
73 percent complete. (233642 of 245164 index entries processed)
Deleting index entry 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 in i
ndex $I30 of file 31962.
Deleting index entry 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.m
p3 in index $I30 of file 31962.
  245164 index entries processed.
Index verification completed.
CHKDSK is scanning unindexed files for reconnect to their original directory.
  2 unindexed files scanned.
CHKDSK is recovering remaining unindexed files.
  2 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
  231424 file SDs/SIDs processed.
Cleaning up 41 unused index entries from index $SII of file 9.
Cleaning up 41 unused index entries from index $SDH of file 9.
Cleaning up 41 unused security descriptors.
Security descriptor verification completed.
  6871 data files processed.
CHKDSK is verifying Usn Journal...
  1116928 USN bytes processed.
Usn Journal verification completed.
Correcting errors in the master file table's (MFT) BITMAP attribute.
Windows has made corrections to the file system.

 244196000 KB total disk space.
 158175168 KB in 30003 files.
     22820 KB in 6873 indexes.
         0 KB in bad sectors.
    306168 KB in use by the system.
     65536 KB occupied by the log file.
  85691844 KB available on disk.

      4096 bytes in each allocation unit.
  61049000 total allocation units on disk.
  21422961 allocation units available on disk.

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  87,743,979,520 bytes free

E:\islag\Music\llb>

Работал отлично! Это должно быть ответом.
enb081

2
@ enb081 Нет, это не должен быть ответ, так как он не имеет никакого отношения к вопросу о том, как переименовать файлы. Sheesh.
Джим Балтер

12

chkdskиногда исправит неправильные имена файлов. Вы получите сообщение об удалении файла, поскольку все имена файлов недействительны, а затем восстановите утерянный файл. Затем вы можете найти файл в C:\found.000\file0000.chk. Это эффективный способ удаления проблемных файлов, но не лучший способ сохранить их.


Этот простой трюк только что помог мне. Я смирился с потерей файла после того, как chkdsk выполнил свою работу, но этот ответ напомнил мне о \found.000.
Давидбак

благодарю вас. это простой, но эффективный способ 👍
علیرضا

11

Я удалил упрямый файл, открыв 7zip, найдя его и переименовав в 7zip. У меня была песня с пробелом в конце файла.


Вы имеете в виду, что самого файла даже не было в архиве, но вы просто использовали 7-Zip, чтобы переименовать его в файловой системе? Умная.
Арджан

Это прекрасно работает. Я попробовал несколько других вариантов здесь, и это был первый, который сработал.
Ракенси

1
7zip смог переименовать ваш файл, потому что имена файлов, заканчивающиеся пробелами, не являются проблемой в Windows. Имена файлов, содержащие '?' являются проблемой, и 7zip не может их переименовать.
Джим Балтер

Это прекрасно сработало для меня, потому что моя проблема оказалась не в вопросительных знаках, а в странных символах Юникода, которые просто отображались в виде вопросительных знаков в моем файловом менеджере. Импортировав файлы (их было сотни) в архив 7-Zip, а затем снова экспортировав, 7-Zip просто преобразовал плохие символы в подчеркивание (_). Затем я снова смог работать с файлами. Проблема полностью решена. Спасибо за отличный совет!
Джеспер

Я не могу переименовывать файлы с помощью символа «:»: i.imgur.com/dZBqqeP.png
user598527

11

Попробуйте указать путь UNC (см. Имена файлов, пути и пространства имен ). Это обходит все виды ограничений. Вы бы сделали это, используя \\?\синтаксис.

Например, если ваш файл был на вашем рабочем столе (а ваш диск Windows - C :), вы можете сделать

copy "\\?\C:\Users\codeLes\Desktop\Where Have All the Cowboys Gone?.ogg" "\\?\C:\Users\codeLes\Desktop\Where Have All the Cowboys Gone.ogg"

Примечание: Вы не можете использовать относительные пути с этим синтаксисом; Вы должны указать полный путь. И это не работает с renкомандой, но работает с copyи move.


4
попробовал, а не удачу "Неверный синтаксис имени файла, имени каталога или метки тома". Спасибо! Я подхожу к тому, что думаю, что правильный ответ - использовать Linux для его переименования (что я и сделал).
CodeLes

Этот ответ определенно неправильный. Ограничение допустимых символов в драйвере NTFS в ядре Windows. \\?\просто обходит обработку пути к файлу в библиотеке времени выполнения пользовательского режима. Он не позволяет открывать имена файлов, которые содержат 5 подстановочных знаков (*? "<>), Другие зарезервированные символы (/ |: \) или управляющие символы.
Eryk Sun

Это работает в моем случае: у меня было имя файла с символом Unicode внутри и с трейлингом \n . Не спрашивайте меня, как я его создал (ну, я пытаюсь понять, можете ли вы создать несколько файлов с одинаковым именем в Windows). Explorer, FreeCommander не может удалить его, но \\?\C:\...может.
Дио Фунг

8

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

После запуска Recuva откажитесь от мастера и выберите нужный диск. Затем перейдите в «Параметры», найдите и проверьте опцию «Поиск не удаленных файлов» и запустите сканирование. Через некоторое время будут показаны все файлы на диске (независимо от того, удалены они или нет). Найдите ваши файлы с недопустимыми именами (имена уже зафиксированы в представлении), выберите их, щелкните правой кнопкой мыши и сохраните («восстановить») где-нибудь.

введите описание изображения здесь

Я только что сделал это (на Windows XP).


Работал нормально для имени файла со встроенным, /nкоторым 7-zip не мог манипулировать.
Давидбак

5

Инструмент 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, чтобы записать его на диск.

Я сделал все это, и инструменты говорят мне, что я изменил характер, но исследователь не делает. Каталог должен быть где-то кэширован. После перезагрузки изменение становится видимым.


+1 за правильный (но более или менее непрактичный) подход, надеясь, что он немного всплывет и обгонит хотя бы некоторые из неправильных ответов. ;)
Сз.

5

Попробуйте использовать сторонний инструмент, такой как инструмент Ken Rename :

Снимок экрана: Кен Ренаме

или переименовать мастера .

введите описание изображения здесь

Вот список инструментов переименования файлов .

Я бы сам их протестировал, но у меня 64-битная Windows Vista; обработка файлов может отличаться.

Если эти инструменты не работают, вы можете попробовать Windows PowerShell . См. Переименование файлов в блоге Windows PowerShell .


Я попробовал Directory Opus, и он не работал (то же сообщение об ошибке).
user14068

Я попробовал Flexible Renamer 8.4, который, кажется, добился цели. Источник с того же сайта, который вы упомянули.
JohnnyBizzle

4

Вы пытались переместить его в файл с правильным именем?

move "Where Have All the Cowboys Gone?.mp3" "Where Have All the Cowboys Gone.mp3"

2
попробовал, не повезло. «Неверный синтаксис имени файла, имени каталога или метки тома»
codeLes

Это сработало для меня с copyкомандой.
Николас

@ Николас, ты имеешь в виду, что в названии было ?или, *или, <или, >или :, и- copyтолько сработало? (Я только попробовал это, и это не для меня, неудивительно.)
Sz.

@Sz. жаль слышать, что это не сработало для вас. Я не помню имя файла, которое мне пришлось переименовать, но оно работало для меня с copyкомандой. Ты тоже пробовал cygwinи команду bash mv?
Николас

1
@Nicolas, спасибо за попытку помочь, но моя точка зрения в том , что эти символы я перечислил выше (и некоторые другие, как ", |, /и, конечно , обратный слеш (который я не могу войти здесь :))) в другой класс проблемных символов ( зарезервирован ), и, боюсь, ни copyкоманда, ни команда не Cygwinмогут обойти их переименованием. (Скорее всего, у вас было несколько разных символов в имени вашего проблемного имени.)
Sz.

4
  • Если это более одного файла, например, создайте новый каталог с простым именем a.
  • Перемещайте один отдельный файл каждый раз в этот каталог.
  • В cmd.exeдороге в новый каталог и введите следующую команду :

    ren *.ogg 1.ogg   
    

    Это для простоты. Затем вы можете переименовать его в XP , как вы хотите, как 1.oggв Where Have All the Cowboys Gone.ogg. oggбыл только пример, расширение может быть чем угодно.


А? Как вы должны переместить этот файл (OP) с подстановочным знаком в его имени?
Сз.

4

Если у вас установлен Cygwin, он сможет позаботиться о файле. У меня была эта проблема только сейчас, и использование rm из Cygwin в оболочке bash смогло удалить файл очень хорошо, когда не помогло ни одно приложение Windows, в том числе Explorer, в том числе попытка использования спецификации файлов UNC с CMD.exe.

Я полагаю, что mv сделает это, если вы захотите сохранить файл.

Базовая установка Cygwin занимает всего несколько минут, и я всегда держу ее в руках, потому что есть так много хороших инструментов. Это проще, чем загружать Linux, даже используя live CD.


Я пытался, Cygwin не смог удалить файл («Нет такого файла или каталога»). Хорошая идея, хотя.
JulianHzg

Это сработало для меня, или с использованием аналогичного MSYS2 (переписать MSYS, вилка Cygwin) на Windows 8.1. Я смог mv файл с новым именем, а затем удалить его в обычном режиме. В конце моего файла был пробел, и он обнаружился с использованием 'dir' - хотя 'ls' не показывал его.
Брайан Бернс

@ bburns.km, по крайней мере, вы уточнили свое заявление «работает для меня». Конечно, это работает для имени файла с пробелом в конце. \\?\также будет работать в этом случае - при правильном использовании с Юникодом, полный путь. Он обходит код библиотеки времени выполнения пользовательского режима, который эмулирует какое-то странное старое правило MS-DOS из 80-х, которое игнорирует пробелы в конце имен. Проблема с недопустимыми и зарезервированными символами не может быть решена следующим образом.
Eryk Sun

3

Предполагая, что речь идет о томе FAT32 или NTFS, попробуйте запустить chkdsk. Это должно очистить «поврежденные» записи каталога, что будет (в данном случае) означать удаление?. Если это загрузочный том, вам может потребоваться перезагрузка, чтобы сделать это.


У меня было имя папки с буквой a, :и после этого каталог исчез. НЕ делай этого.
leeand00

1
На самом деле, chkdskпереместил содержимое папки в корневой директории на жесткий диск в скрытую папку , и я был в состоянии получить мои файлы там увидеть: superuser.com/a/320654/2293
leeand00

3

Это должно работать (по крайней мере, для меня):

dir /X *cowboys*

Эта команда выведет что-то похожее на это:

08/11/2011  15:21    <DIR>          WH5E97~1     Where Have All the Cowboys Gone
?.ogg

Это WH5E97~1то, что вы ищете!
(Обратите внимание: такой код полностью придуман, но должен быть похож на тот, который вы найдете)

Зная это, простой

rename WH5E97~1 "Where Have All the Cowboys Gone.ogg"

должен сделать свое дело.

Надеюсь, это поможет.


Хорошее решение. Должно работать, но работает только если имя файла длиннее 8 символов (поэтому не в моем случае).
JulianHzg

Не обязательно. Согласно документации , набрав dir t97*возвращает оба файла, так как звездочка соответствует файл t.txt2с t97.txtпомощью его краткое название картыT97B4~1.TXT
unwiredbrain

2

ты пробовала:

type "Where*.ogg" > "Where.ogg"

может работать.


1
Неверный синтаксис имени файла, имени каталога или метки тома.
Ciaran

1

Попробуйте подстановочный знак на ходу -

move "Where Have All the Cowboys Gone*.mp3" "Where.mp3"

Вероятно, это ваш лучший выбор, если только один файл соответствует шаблону.


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

1
К сожалению, это не работает ни с исходным именем файла, ни с более общими символами, такими как * .mp3.
JulianHzg

1

перетащите в новую папку, перейдите в командной строке к этой папке и введите

ren *.* test.ogg

1
перетаскивание тоже не удается с той же ошибкой ... спасибо
codeLes

6
И наоборот, вы можете попробовать переместить все остальное из рассматриваемой папки.
оттуда

1

Попробуйте cygwin переименовать файл:

команда будет: mv filename?.ogg filename.ogg


я пробовал cygwin один раз в Vista, похоже, у меня та же проблема, но у меня нет доступа к нему на моей текущей рабочей машине ...
codeLes

не работает, пробовал на Win7 64b
Макс

1

Большинство внутренних команд Microsoft контролируются при наличии explorer.exe.

Откройте диспетчер задач и просмотрите список текущих активных процессов. Вы найдете explorer.exeсреди них. Щелкните правой кнопкой мыши и завершите / остановите / закройте explorer.exe. Пока не закрывайте диспетчер задач. Теперь перейдите к оскорбительному файлу с помощью вторичного файлового менеджера и попробуйте удалить или переименовать с использованием подстановочных знаков. Это, вероятно, будет успешным.

Теперь вернитесь в окно диспетчера задач и щелкните правой кнопкой мыши верхнюю строку с надписью «Приложения», затем выберите нижнюю кнопку с надписью «Новая задача». Введите explorer.exe. Исследователь обнаруживается снова, и оскорбительный файл больше не там.


1

Графический интерфейс WinRAR позволит вам переименовать файлы, даже не упаковывая их в архив. Я проверил это в Windows 8.1 на очень длинном имени файла. Работал как шарм.


1

Если у вас есть WinRAR, упакуйте его в WinRAR, переименуйте в WinRAR, распакуйте его.

Или вы можете попробовать с VBScript, взять следующий скрипт и сохранить его в файл с расширением .vbs .

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

fso.MoveFile "Where Have All the Cowboys Gone?.ogg", "Where.ogg"

2
У меня нет WinRAR на работе, и моей рабочей машины нет в сети. У меня есть 7zip, в любом случае я могу сделать это с 7zip, только что попробовал, и он не позволил бы мне добавить его в архив ... та же ошибка :-)
codeLes

попробуй твой сценарий выводит мне ошибку "путь не найден" (код: 800A004C). имеет ли значение, что этот файл находится на внешнем USB-накопителе? Я помещаю файл в ту же папку ... попробую жестко закодировать все местоположение файла дальше
codeLes

Полное имя тоже не работает ...
codeLes

я согласен с вариантом chkdsk
Джонни Д. Кано - программное обеспечение -

Пробовал с WinRAR. Не сработало Тот же результат.
user14068

1

У меня также была похожая проблема с папкой. Имя папки было ".min." что обычно не допускается.

Переименовать не разрешено (нажмите для изображения)

Используя Winrar я смог решить эту проблему. То, что я сделал, было

  • щелкните правой кнопкой мыши на папке
  • выберите «Добавить в архив ...»
  • выберите новое имя архива (без специальных символов)
  • в параметрах архивации выберите «Удалить файлы после архивации»
  • чем выбрать ОК

Добавить в архив ... (щелкните для изображения)

  • Затем я открыл файл .rar
  • и переименовал файл в

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

Надеюсь, это поможет.


Не работает для меня Мое имя файла 10:2.
Pacerier

0

Используйте cmd.exe в этом каталоге с подстановочными знаками. Например:

ren "Where Have All the *.ogg" "Where Have All the Cowboys Gone.ogg"

Globbing делается оболочкой.
Hello71

3
@ Hello71: Не в коробке с DOS, парень из Linux.
harrymc

0

Файловый менеджер 7-Zip (7-zip.org) переименует файлы и каталоги, которые XP не может. Просто использовал его, чтобы извлечь файл .tar и переименовать вложенный, незаконно названный файл .chm. Не требуется LiveCD.

Tschüß!


0

У меня была похожая проблема с 2-мя вложенными папками с подпапками. Я не мог ни переименовать, ни удалить некоторые файлы (я пробовал много способов). Наконец я нашел решение: Теракопия.

Установите его, щелкните правой кнопкой мыши папку или файл и выберите teracopy. Откроется Teracopy, затем просто нажмите deleteили rename. Это переименует или удалит это.

Возможно, вы захотите попробовать.


0

Я столкнулся с той же ситуацией.

Погуглив, я узнал, что нет нативного решения.

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

Но я также узнал, что Unlocker Седрика Колломба ( http://www.emptyloop.com/unlocker/ ) способен справиться с ним.

И у меня это было в моей настройке. Кроме того, я очень рекомендую это.

Ну, по крайней мере, это решение не предполагает выхода из среды Windows ...


0

Я исправил FLAC-файл таким образом, используя базовую команду открытия Winamp, используя окно обозревателя программ. Когда я пошел в папку, у меня была опция переименования, в отличие от Проводника.


0

Я сталкивался с подобной ситуацией. Ни одно из опубликованных решений не помогло мне, но я наконец нашел простое решение:

  • Внешний инструмент не требуется
  • Не требуется знание какого-либо языка программирования или языка сценариев оболочки

Я просто скопировал файл (да, у меня все еще было возможно копирование) на флешку, переименовал его и снова поместил обратно! Я оставляю это другим, чтобы объяснить, почему это сработало.


0

Это не прямой ответ (например, как Windows может переименовать файл), но это работает для меня. Недопустимые файлы обычно находятся на внешнем диске, поэтому я подключаю внешний диск к своему планшету Android . Это позволяет мне переименовывать файл, который затем может быть прочитан Windows. Это касается специальных символов, но обычная проблема, которую я получаю, это имя файла, начинающееся или заканчивающееся пробелом или заканчивающееся символом '.

Я попробовал один из сторонних инструментов FlexRenamer, но он все еще борется с вышеизложенным.


0

В большинстве случаев этот ответ бесполезен .
Меня одурачили имена файлов с символами, которые представлены в виде вопросительных знаков, хотя на самом деле это просто символы, которые не отображаются / не отображаются по умолчанию в M-шрифтах.

Должен ли я удалить этот пост? Это все еще может помочь некоторым людям ...


Попробуйте использовать встроенный в tab-файл cmd.exe.

  1. dir /x не помогает (NTFS была создана без поддержки коротких имен файлов):

    dir
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>          none\none         ? ?????????, ?????????
    
    dir /X
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>                       none\none         ? ?????????, ?????????
    
  2. Попытка переименовать его, введя / copy'n'past название, не работает:

    C:\Temporal\_black> ren "? ?????????, ?????????" bart
    Syntaxfehler.
    
  3. Чтобы это сработало, вы должны использовать табуляцию . Просто перейдите к нужному каталогу в командной оболочке cmd, введите ren, нажмите клавишу Tabulator и продолжайте нажимать ее, пока не появится «правильное» имя:

    C:\Temporal\_black>ren "? ?????????, ?????????"
    

    затем наберите остальное и нажмите ввод:

    C:\Temporal\_black>ren "? ?????????, ?????????" bart
    

    Вы будете вознаграждены этим:

    C:\Temporal\_black> dir
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>          none\none         bart
    

Это довольно утомительно, но до сих пор это всегда работало для меня с файлами и каталогами (Windows 7 и 8).

Забавное примечание: ren-команды в 2. и 3. идентичны, но они не будут работать без использования табуляции. И даже если вы использовали завершение табуляции, оно больше не будет работать, как только вы отредактируете имя после ren(например, удалите и добавьте знак вопроса).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.