2013-03-07 48 views
2

我试图重命名一系列包含非法字符(如#,&,〜等)的文件。我将代码从this网站修改为找到要重命名的文件/文件夹。当我运行以下命令在VBA中查找包含〜使用Dir()的隐藏文件或系统文件

strTemp = Dir(strFolder & "*~*", vbHidden) 

(或与任何其他属性为此事),我得到一个巨大的目录中的文件不包含~的列表,但它似乎仍然没有找到一些包含初始~的文件(如编辑从未删除的文档导致的临时文件)。

有没有人知道如何找到这些文件?

+0

请注意,“巨大的文件列表”不包括8个字符或更短的文件。我认为这是DOS文件名长度限制的保留。 – ecksc 2013-03-07 15:05:44

+0

您可以缩小要查找的内容吗?在文件中的任意位置有波形吗?例如,如果代字符总是在开头或结尾,则可以制作更好的通配符模式。 – 2013-03-07 15:14:53

+0

我认为你是对的 - 所有长文件名都有一个包含代字号的秘密短版本。 – 2013-03-07 15:15:39

回答

1

道歉发布此作为答案,但我似乎无法添加评论。

ecksc已经回答了自己的问题,但我只是想指出的是,你不需要更换用数字6的常量要结合你可以把它们用+添加属性,例如:

strTemp = Dir(strFolder & "*~*", vbHidden + vbSystem) 
相关问题