2009-06-05 13 views
1

ich den folgenden VBScript-Code-Schnipsel bin mit allen Dateien in meinem c aufzuzählen: \ Scripts \ Ordner:Dateien mit Groß- und Kleinschreibung in VBScript auflisten?

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 

Leider objFile.Name gibt den Pfad in allen Klein. Es ist mir wichtig, den Fall aller Dateinamen abzurufen, d. H. NewFileOne.txt, sollte nicht als newfileone.txt zurückgegeben werden.

Gibt es eine Möglichkeit, Dateien mit Groß-/Kleinschreibung in VBScript aufzuzählen?

+0

Get it Joel, hol es! –

Antwort

4

Wenn Sie das Filesystem verwenden, werden Sie den Namen mit dem Fall zurück erhalten

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

Mike Lösung ist besser, aber hier ist eine sehr UGLY Alternative:

Verwendung der Shell Führen Sie den folgenden Befehl aus:

dir c:\scripts /B>file.txt 

Jetzt enthält "file.txt" die Datei mit dem richtigen Gehäuse.

Sorry, es ist hässlich, aber funktioniert.

1

Im Gegensatz zur CIM_DataFile.Name-Eigenschaft wird bei den Eigenschaften FileName und Extension zwischen Groß- und Kleinschreibung unterschieden. Also, wenn es notwendig ist, dass Sie WMI verwenden, können Sie den Dateinamen und die Erweiterung getrennt abrufen:

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