2009-06-05 49 views
1

我使用下面的VBScript代碼片段枚舉我的C中的所有文件:\腳本\文件夾:在VBScript中枚舉區分大小寫的文件?

strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 

Set colFiles = objWMIService. _ 
    ExecQuery("Select * from CIM_DataFile where Path = '\\Scripts\\'") 

For Each objFile in colFiles 
    Wscript.Echo objFile.Name 
Next 

不幸的是objFile.Name返回所有小寫的路徑。檢索所有文件名的情況,即NewFileOne.txt,不應該作爲newfileone.txt返回,這對我來說很重要。

有沒有辦法在VBScript中枚舉區分大小寫的文件?

+0

Get it Joel,明白了! – 2009-06-05 16:23:33

回答

4

如果您使用FileSystemObject,你會得到地名用的情況下保存

Files Collection (MSDN)

dim objFSO, path, fldr, f, msg 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set fldr = objFSO.GetFolder("C:\Scripts") 

For Each f in fldr.Files 
    MsgBox f.name 
Next 
0

邁克的解決方案是更好的,但這裏有一個非常難看的選擇:

使用shell exec執行以下命令:

dir c:\scripts /B>file.txt 

現在「file.txt」包含具有正確外殼的文件。

對不起,這是醜陋的,但工程。

1

CIM_DataFile.Name屬性不同,FileNameExtension屬性區分大小寫。因此,如果您需要使用WMI,您可以分別檢索文件名和擴展名:

WScript.Echo objFile.FileName & "." & objFile.Extension