2009-08-28 19:46:36 +0000 2009-08-28 19:46:36 +0000
86
86

如何强制Windows重命名带有特殊字符的文件?

我有一首歌,Windows无法播放,因为文件名里有一个问号。

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

所以我尝试重命名它,Windows会抱怨,无论我是在资源管理器中还是在命令提示符中尝试。

当我尝试复制、重命名或移动文件时,我得到的错误是。

Filename, directory name, or volume label syntax is incorrect

在这种情况下,有没有一种Windows方法来强制重命名?

更新

我会继续关注这个问题,但是在13个答案和多次尝试之后(除了第三方的解决方案),似乎Windows无法做到这一点(至少我的Windows无法做到,没有短名)。所以我接受了这个答案,这也是我最初的解决方案,反正是使用Linux。如果Windows能以某种方式处理这个问题就更好了,所以不要因为我接受了这个答案就停止,问题仍然存在。

答案 (36)

42
42
42
2009-08-28 22:11:05 +0000

抢一个linux live-cd并使用它。

29
29
29
2009-08-28 22:06:58 +0000

您是否尝试过使用其名称的短文件名版本?例如

ren whereh~1.ogg where.ogg

如果它是当前文件夹中唯一一个以前几个字母开头的文件,那么就使用名字的前6个字母(忽略空格),后面加一个斜线(~),然后再加一个1。

24
24
24
2011-02-02 19:57:59 +0000
  1. 在Windows 7中,在管理员模式下运行cmd.exe。在管理员模式下运行cmd.exe。 2.cd到文件名的目录中。 3.运行:chkdsk /V /f [我的坏文件在操作系统驱动器以外的其他驱动器上,所以能够将其卸载。如果是OS盘,可能要在启动时进行这一阶段的操作]。
  2. 等待(可能要重新启动)。

你会看到结果是,chkdsk居然帮我删除了文件。所以,如果你想保留这些文件,我不知道该怎么做,但这样做肯定会把文件删除。

结果/命令日志。

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>
12
12
12
2009-08-28 21:56:53 +0000

试着指定UNC路径(参见命名文件、路径和命名空间)。这可以绕过各种限制。你可以使用`\?试着指定UNC路径(参见[命名文件、路径和命名空间]0x3&.aspx))。这可以绕过各种限制。你可以使用语法来做。

例如,如果你的文件在你的桌面上(而你的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命令一起使用,但可以与copymove一起使用。

12
12
12
2011-08-09 00:24:36 +0000

chkdsk有时会修复无效的文件名。你会收到一条信息,说因为所有的文件名都是无效的,所以要删除文件,然后恢复丢失的文件。然后你可以在C:\found.000\file0000.chk中找到文件。这是删除问题文件的有效方法,但如果你想保留这些文件,这不是最好的方法。

11
11
11
2014-01-12 09:59:02 +0000

我删除顽固文件的方法是打开7zip,找到文件并通过7zip重命名文件。我的是一首歌曲,在文件的最后有一个空格。

8
8
8
2013-11-06 15:18:56 +0000

使用 Recuva 。它主要用于恢复已删除的文件,但它也有一个选项可以将未删除的文件纳入其扫描范围。

启动Recuva后,拒绝向导,选择正确的磁盘。然后进入 “选项",找到并勾选 "扫描未删除的文件 "选项,启动扫描。过一会儿,就会显示出磁盘上所有的文件(无论是否删除)。找到你的无效名称的文件(名称已经在视图中固定下来了),选择它们,右击并保存("恢复")到某个地方。

我刚做过(在Windows XP上)。

5
5
5
2009-08-29 23:18:31 +0000

尝试使用第三方工具,如 Ken Rename 工具。

或者 重命名大师 .

这里有一个文件重命名工具的列表

我想自己测试一下,但我运行的是Windows Vista 64位;文件处理方式可能不同。

如果这些工具都失败了,你可能会想给 Windows PowerShell 一个机会。请参阅 Windows PowerShell 博客 上的 重命名文件

5
5
5
2009-11-04 20:56:44 +0000

微软工具DISKEDIT.EXE是一个直接读写原始磁盘数据的低级工具。你应该能够加载包含该文件目录条目的群集,然后将违规的’?‘字符改为无害的东西,然后将其写回磁盘。

据我所知,微软的diskedit工具(不是同名的Norton Utilities工具,它只适用于FAT卷)最后一次出现在Windows 2000 SP4中。但是有一个链接可以找到它这里

要找到正确的群集,你可以下载试用版的 DiskExplorer for NTFS

你可以从File->Drive…开始打开包含这个坏文件的驱动器。选择Goto->>Root Directory来获得一个目录视图。通过使用MFT#链接导航到包含坏文件的目录。当你到达那里时,窗口的顶部会显示类似 “MFT# x12345 DIR: 'dirname’, ……等等等等…….从集群x9302AE开始,……等等等等 ”

现在移到Microsoft diskedit。首先执行File-\Open… 并指定卷名C:(如果文件在C:驱动器上)。把卷宗文件名留空。将起始群集号输入到Diskedit的Read->NTFS Clusters…->Starting Cluster(以十六进制数字输入)。

现在用方向键向下滚动到坏文件名。它是以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#。你会看到一个屏幕,左边有一个树状的东西,上面写着 "结构"。点击树上的 "属性"。它会显示出一个属性列表,其中一个属性会是类似30元……$FILE_NAME的东西。所以,30元有文件名。点击Structures树中30美元节点下的Body节点。选择菜单View-/>as Hex。几行下来,你应该又能看到文件名W.h.e.r.e. .H.a.v.e…等等。在屏幕的左侧,你会看到扇区栏,它显示了你正在查看的磁盘扇区。

回到磁盘编辑界面。执行Read->Sectors…然后从DiskExplorer中输入扇区号。像之前一样,向下滚动,用上面的字符替换 "3F "字符。选择Write-/>It将其写入磁盘。

我做了这一切,工具告诉我我已经改变了字符,但是explorer没有。这个目录一定是被缓存在某个地方了。重启后,更改就会显现出来。

4
4
4
2009-08-28 19:49:08 +0000

你有没有试过把它移到一个名字正确的文件中?

move "Where Have All the Cowboys Gone?.mp3" "Where Have All the Cowboys Gone.mp3"
4
4
4
2012-09-21 15:26:42 +0000

如果你安装了Cygwin,它应该可以处理这个文件。我刚才就遇到了这个问题,在bash shell中使用Cygwin的rm能够在没有Windows应用程序的情况下删除该文件,包括资源管理器,包括尝试使用CMD.exe的UNC filespec都有帮助。

我想,如果你想保留文件,mv会这么做。

一个裸机的Cygwin设置只需要几分钟,我总是把它放在身边,因为有很多好的工具。它比启动Linux更容易,甚至使用一张实时光盘。

4
4
4
2012-02-14 19:38:44 +0000
  • 如果是1个以上的文件,用简单的名字创建新的目录,例如a
  • 每次将一个单文件移到该目录。
  • cmd.exe中进入新目录,并输入以下内容。
3
3
3
2011-11-14 00:34:00 +0000

这个应该可以用(至少对我来说是这样):

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"

应该就可以了。

希望能帮到你。

3
3
3
2009-08-28 20:02:37 +0000

假设有问题的卷是FAT32或NTFS,尝试运行chkdsk。这应该会清理 “损坏 "的目录条目,这将(在这种情况下)意味着删除? 如果是启动卷,你可能需要重启才能完成。

2
2
2
2009-08-28 21:44:09 +0000

你试过吗?

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

可能会有用。

1
1
1
2009-08-28 19:54:32 +0000

如果你有WinRAR,把它打包到WinRAR上,在WinRAR上重命名,解压。

或者你可以用VBScript试试,把下一个脚本保存在.vbs扩展名的文件下。

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

fso.MoveFile "Where Have All the Cowboys Gone?.ogg", "Where.ogg"
1
1
1
2009-09-02 16:50:19 +0000

试试 cygwin 重命名文件。

命令是: mv filename?.ogg filename.ogg

1
1
1
2013-10-06 20:04:56 +0000

大多数微软内部命令都是以explorer.exe的存在来控制的。

打开任务管理器,检查当前活动进程的列表。你会发现explorer.exe也在其中。右键单击并终止/停止/关闭explorer.exe。先不要关闭任务管理器。现在,使用辅助文件管理器进入攻击性文件,并尝试删除或用通配符重命名。这可能会成功。

现在,返回任务管理器窗口,右键点击顶部的应用程序,然后选择底部的新任务按钮。输入explorer.exe。资源管理器再次出现,攻击性文件不再存在。

1
1
1
2016-05-24 12:18:28 +0000

我在一个文件夹上也遇到过类似的问题。文件夹的名字是".min.“,通常是不允许的。 Rename Not Allowed (Click for image)

使用Winrar我能够解决这个问题。我所做的是

  • 右键点击文件夹
  • 选择 "添加到存档…"。
  • 选择一个新的归档名称(没有特殊字符的)
  • 从归档选项中选择 "归档后删除文件”
  • 选择确定 添加到归档… (点击查看图片)

  • 然后我打开了.rar文件

  • 并在

内重新命名了文件,这是允许的,因为Windows并没有真正检查.rar文件的内部内容。只要你改了名字,然后解压文件,你就可以了。

我希望这能帮助你。

1
1
1
2014-06-15 06:14:35 +0000

WinRAR GUI将允许你重命名文件,甚至不需要先将它们打包成一个存档。我已经在Windows 8.1中测试了它,在一个很长的文件名上。工作像一个魅力。

1
1
1
2009-08-28 19:54:28 +0000

试试移动中的通配符 -

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

这可能是你最好的选择,只要只有一个文件符合通配符。

1
1
1
2009-08-28 20:00:01 +0000

拖放到一个新的文件夹,在命令提示符中导航到该文件夹,并输入

ren *.* test.ogg
```。
0
0
0
2015-01-18 01:35:40 +0000

我也碰到了同样的情况。

上网查了一下,得知没有本地的解决方案。

……我用JPGSoft的TCC作为shell,它也不能处理那些该死的文件。

但是,我也了解到Cedrick Collomb的Unlocker http://www.emptyloop.com/unlocker/ ) 能够处理这些文件。

而且我在我的设置中也有它。另外,我强烈推荐它。

好吧,至少这个解决方案不需要离开windows环境… …

0
0
0
2014-09-16 06:56:41 +0000

我在2个带子文件夹的嵌套文件夹上也遇到了类似的问题,我既不能重命名也不能删除一些文件(我试了很多方法)。我既不能重命名,也不能删除一些文件(我试了很多方法)。最后,我找到了解决办法。Teracopy.

安装它,右键点击文件夹或文件,选择teracopy。Teracopy会打开,然后只要点击deleterename。它会重命名或删除它。

你可能想试试。

0
0
0
2015-08-22 23:47:46 +0000

这不是一个直接的答案(如Windows如何重命名文件),但这对我来说是有效的。非法文件通常在外部驱动器上,所以我将外部驱动器连接到我的安卓平板电脑上。这允许我重命名文件,然后可以被Windows读取。这可以处理特殊的字符,但我通常遇到的问题是文件名以空格开头或结尾,或以’.‘结尾,

我尝试了一个第三方工具FlexRenamer,但这仍然难以解决上述问题。

0
0
0
2015-02-26 20:30:26 +0000

我也遇到过类似的情况。发布的解决方案对我来说都不奏效,但我终于找到了一个简单的解决方案。

  • 不需要任何外部工具
  • 不需要任何编程或shell脚本语言知识

我只是简单地将文件复制(是的,复制对我来说仍然是可能的)到U盘上,在那里重新命名,然后再放回去。我让别人去解释为什么能成功。

0
0
0
2017-11-01 22:45:15 +0000

好吧,对我来说,来自smart projects的第三方工具isobuster在有个人许可证的情况下效果很好。只要将文件夹/文件解压到windows ntfs驱动器上,所有非windows字符都会被转化为形成良好的windows文件夹和文件名。唉,真是的。:) 希望能帮到你! 下次我使用我的lubuntu系统时,我会删除不符合要求的文件夹;) - 所有这些,伙计们!

0
0
0
2017-11-18 16:12:15 +0000

我无法让任何建议的Windows实用程序为我工作,从文件名中删除"?"和"*“字符。

我将硬盘插入Raspberry Pi,并更改了文件名。

0
0
0
2016-04-17 10:21:14 +0000

我下载的一个文件也有同样的问题。我无法重命名或移动它,无论是在资源管理器中还是在命令行中。然而,对我有效的方法是在资源管理器中删除它,然后从回收站恢复它。我只能假设这个过程 “纠正 "了一些无效字符,因为我能够像对待正常文件一样对待它。

0
0
0
2017-05-08 21:45:43 +0000

对不起有点晚了,不知道如何删除一个文件,但是你可以目录中的所有文件。只需创建一个空文件夹,然后使用robocopy将新的空文件夹镜像到有坏文件的文件夹上面。这基本上是将一个空的列表镜像到原来的目录上。

mkdir Empty
robocopy Empty <badfiledir> /mir
0
0
0
2014-09-09 17:42:08 +0000

7-Zip文件管理器(7-zip.org)可以重命名XP不能重命名的文件和目录。只是用它来解压一个.tar文件,并重命名被附上的非法命名的.chm文件。不需要LiveCD。

Tschüß!

0
0
0
2015-02-01 02:23:42 +0000

我用Winamp的基本打开命令,用那个程序explorer窗口修复了这样一个FLAC文件。当我去文件夹,我有重命名选项,不像资源管理器。

0
0
0
2017-05-08 21:55:06 +0000

我遇到了一个文件名有尾部空白的问题。无论是资源管理器还是cmd.exe move都无法重命名(或删除)它。

然后我使用了 FAR Manager (ConEmu 中的 far.exe)。它是一个控制台诺顿Comander克隆,可以在64位Windows 10上工作。

有了这个,我很容易就能看到并改变尾部的空白。

0
0
0
2015-10-12 21:40:31 +0000

在大多数情况下,这个答案是无用的
我被带有问号的文件名愚弄了,其实它们只是默认M$字体不会/不能显示的字符。

我应该删除这个帖子吗?它仍然可能帮助一些人…


试试使用cmd.exe内置的tab-completion。

1.dir /x无济于事(NTFS创建时不支持短文件名):

  1. 试图通过键入/复制'n'pasting名称来重命名它,但不起作用。

  2. 要使它工作,你必须使用tab-completion。只需在cmd-shell中导航到正确的目录,输入ren,按tabulator-key,然后一直按,直到出现 “正确 "的名称。

虽然有点繁琐,但到目前为止,这对我的文件和目录(Windows 7和8)一直有效。

有趣的是:2.3.中的ren命令是相同的,但如果不使用tab-completion,它就不会工作。即使你使用了tab-completion,只要你编辑了ren后面的名称,它就不会再工作了(例如,删除并添加一个问号)。

0
0
0
2017-06-02 06:59:45 +0000

唯一帮助我的是下载 LockHunter

杀死LockHunter中的进程,然后重命名文件夹,但是LockHunter也有重命名文件夹的选项。

0
0
0
2009-08-29 09:04:14 +0000

在此目录下使用cmd.exe,并加上通配符。例如:

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