2013-03-07 75 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) 
相關問題