Вопрос: Переименование длинного имени файла с недопустимыми символами [duplicate]


Возможный дубликат:
Как заставить Windows XP переименовать файл со специальным символом? 

У меня есть файл размером 2 ГБ в окнах с длинным именем файла FileTransfer.dll?Cmd=1&MN=1619353607&Dir=1&Mode=0&Off=0&TS=FA596160-1BFB-4113-9E10-B196243A73F3&CVN=5,0,0,32
Я не уверен, как он получил имя файла таким образом (возможно, из менеджер загрузки)

Теперь, когда я пытаюсь переименовать его, он говорит:

---------------------------
Error Renaming File or Folder
---------------------------
Cannot rename file: Select only one file to rename, or use MS-DOS wildcards (for example, *.txt) to rename a group of files with similar names.
---------------------------
OK   
---------------------------

Как переименовать этот файл? Я не могу использовать этот файл каким-либо другим способом (например, загрузкой).
Я нахожусь в Windows XP home (NTFS), и я не использовал linux до сих пор

Редактировать :
dir /X дает мне

E:\Downloads>dir /X
 Volume in drive E is x
 Volume Serial Number is c

 Directory of E:\Downloads

02/04/2010  05:44 PM    <DIR>                       .
02/04/2010  05:44 PM    <DIR>                       ..
01/27/2010  09:12 PM            49,745              1.l
01/28/2010  12:09 AM     2,501,894,144              FileTransfer.dll?Cmd=1&MN=16
19353607&Dir=1&Mode=0&Off=0&TS=FA596160-1BFB-4113-9E10-B196243A73F3&CVN=5,0,0,32

01/28/2010  12:09 AM         3,138,664              wget-log.1
10/19/2009  02:46 AM        43,137,416              zapSetup_91_008_000_en.exe
               4 File(s)  2,548,219,969 bytes
               2 Dir(s)  80,069,509,120 bytes free

5
2018-02-04 12:12


Источник


Вопросительный знак в нем действительно странный. Конечно, они могут быть созданы в Windows. Но для этого не было бы разумной причины. - Joey
Вы отключили создание имен 8.3? Я не вижу коротких имен в DIR / x - MartW
Да, это довольно странно, нужно отключить. Я бы, вероятно, попробовал файл DIR *. * - вы должны получить только 1 файл, а затем попробовать файл REN *. * Myfile.exe (или любое другое расширение, которое вам нужно). Серийный номер также немного странный. Вы должны запустить CHKDSK, но только после восстановления того, что вам нужно. - jtreser


Ответы:


Недавно я обнаружил, что недопустимые имена файлов в Windows можно манипулировать с помощью этого синтаксиса:

\\.\C:\somedir\filename

Это можно использовать для удаления или переименования повреждающего файла, как в этих примерах:

DEL \\.\C:\test\LPT1

REN \\.\C:\test\LPT1 file.txt

Тестирование показывает, что этот синтаксис также работает, если первая часть пути «\\? \» Вместо «\\. \».


3
2017-07-24 14:06





Найдите краткое имя файла с помощью DIR / X, вы должны использовать REN для переименования короткого имени в новое имя.


2
2018-02-04 12:29



вопрос обновлен - Quintin Par


Во многих случаях самый простой способ сделать это - указать имя файла. [*]

rename "long-file-name-here" new-short-file-name

Кавычки защищают неуловимых персонажей (? а также & и другие) от интерпретации оболочки как специальные символы. (В оболочке Windows CMD, ? является односимвольным шаблоном. Кавычки говорят CMD, чтобы не интерпретировать его таким образом.)

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

[*] Unix-оболочки предпочитают одиночные кавычки ('foo') вместо двойных кавычек ("foo") для полной защиты от интерпретации оболочки. Кажется, что оболочка CMD предпочитает двойные кавычки.


2
2018-02-04 14:16





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

e:
cd e:\Downloads
rename * <newname>

Надеюсь, rename Расширение подстановочного файла команды не приведет к неожиданным символам. Вы даже можете попробовать это, не перемещая другие файлы с немного более утонченной командой переименования:

rename FileTran* <newname>

(если вы не знакомы с окнами консоли командной строки: можно запустить запуск cmd через команду запуска в меню запуска XP, и когда вы закончите, дайте exit команда)


0
2018-02-04 14:03