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

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

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

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

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

Имя файла, имя каталога или синтаксис метки тома являются неправильными

Существует ли Windows способ вызвать переименовывание в этом случае?

Обновление

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

87
задан 30.10.2015, 01:30

14 ответов

Захватите живой CD Linux и использование это.

42
ответ дан 07.12.2019, 08:00

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

ren "Where Have All the *.ogg" "Where Have All the Cowboys Gone.ogg"
0
ответ дан 07.12.2019, 08:00

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

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

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

fso.MoveFile "Where Have All the Cowboys Gone?.ogg", "Where.ogg"
1
ответ дан 07.12.2019, 08:00

Попытайтесь указать путь 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.

11
ответ дан 07.12.2019, 08:00

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

команда была бы: mv filename?.ogg filename.ogg

1
ответ дан 07.12.2019, 08:00

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

Screenshot of Ken Rename

или переименуйте ведущее устройство.

enter image description here

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

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

Если те инструменты перестали работать, можно хотеть дать Windows PowerShell выстрел. Посмотрите Файлы Переименования в Windows PowerShell Blog.

6
ответ дан 07.12.2019, 08:00

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

move "Where Have All the Cowboys Gone?.mp3" "Where Have All the Cowboys Gone.mp3"
4
ответ дан 07.12.2019, 08:00

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

3
ответ дан 07.12.2019, 08:00

имейте Вас попробованный:

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

мог бы работать.

2
ответ дан 07.12.2019, 08:00

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

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

Это - вероятно, Ваш лучший выбор, пока существует только один файл, который соответствует подстановочному знаку.

1
ответ дан 07.12.2019, 08:00

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

ren *.* test.ogg
1
ответ дан 07.12.2019, 08:00

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

ren whereh~1.ogg where.ogg

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

29
ответ дан 07.12.2019, 08:00

Инструмент Microsoft DISKEDIT.EXE является инструментом низкого уровня для того, чтобы непосредственно считать и записать данные неструктурированного диска. Необходимо ли смочь загрузить кластер, содержащий запись каталога для этого файла и просто изменить оскорбление'?' символ к чему-то безвредному и записывает его обратно к диску.

Это - мое понимание, что Microsoft diskedit инструмент (не инструмент Norton Utilities тем же именем, которое является только для томов FAT) была в последний раз замечена в Windows 2000 SP4. Но существует ссылка на него, которая может быть найдена здесь.

Для определения местоположения правильного кластера можно загрузить пробную версию DiskExplorer для NTFS.

Вы запустили бы с Файла-> Диск... для открытия диска, содержащего этот плохой файл. Выберите Goto-> Корневой каталог для получения представления каталога. Перейдите к каталогу, содержащему Ваш плохой файл при помощи ссылок MFT#. Когда Вы доберетесь там, вершина окна скажет что-то как, "MFT# x12345 DIR: 'dirname'... и тому подобное... запускающийся в кластере x9302AE... и тому подобное"

Теперь отодвиньтесь к Microsoft diskedit. Сначала Зарегистрируйте-> Открытый... и укажите Имя тома C: (если файл находится на Вашем C: диск). Оставьте пробел Имени файла Объема. Возьмите то стартовое кластерное число и войдите, оно в diskedit при Read-> Кластеры NTFS...-> Стартовый Кластер (введите его как шестнадцатеричное число).

Теперь используйте свои клавиши со стрелками для прокручивания вниз к плохому имени файла. Это находится в unicode, таким образом, Вы будете искать что-то как "W.h.e.r.e..H.a.v.e..A.l.l. .t.h.e..C.o.w.b.o.y.s..G.o.n.e.?... o.g.g.". Расположите свой курсор над плохим "3F" символ и введите что-то безопасное, как 5F (' _ '). Выберите Write-> It для обратной записи его к диску.

Существует другое пятно для удара (не уверенный, если один или оба необходимы). Теперь, назад в DiskExplorer, нажмите на Mft# для плохого файла. Вы получите экран с древовидной вещью слева, которая говорит "структуры". Нажмите на "Attributes" в дереве. Это покажет Вам список атрибутов, один из которых будет чем-то как 30$... $FILE_NAME. Так, 30$ имеет имя файла. Нажмите на узел Тела под узлом за 30$ в дереве Структур. Выберите меню View-> как Шестнадцатеричное число. Несколько строк вниз, необходимо видеть имя файла снова W.h.e.r.e..H.a.v.e... и т.д. На левой стороне экрана, Вы будете видеть столбец Sector, который показывает, на какой сектор диска Вы смотрите.

Назад по diskedit. Действительно Читайте-> Секторы... и введите номер сектора от DiskExplorer. Как прежде, прокрутите вниз и замените "3F" символ с тем же символом, как Вы сделали выше. Выберите Write-> It для записи этого в диск.

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

5
ответ дан 07.12.2019, 08:00
  1. В Windows 7: выполните cmd.exe в режиме Administator.
  2. CD в Каталог с именами файлов.
  3. выполненный: chkdsk/V/f [Мои плохие файлы были на другом диске кроме диска ОС, таким образом, он смог демонтировать его. Если это - диск ОС, этому, вероятно, придется сделать этот этап при запуске.]
  4. Ожидайте (Вероятно, придется перезагрузить).

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

Журнал Results/Cmd:

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>
24
ответ дан 07.12.2019, 08:00

Теги

Похожие вопросы