Auflisten von Dateien mit Groß- und Kleinschreibung in VBScript?
-
12-09-2019 - |
Frage
Ich bin mit den folgenden VBScript-Code-Schnipseln alle Dateien in meinem c aufzuzählen: \ Scripts \ Ordner:
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, das heißt NewFileOne.txt, sollte nicht als newfileone.txt zurückgegeben werden.
Gibt es eine Möglichkeit, um Dateien mit Groß- und Klein in VBScript aufzuzählen?
Lösung
Wenn Sie das Filesystem verwenden, werden Sie den Namen mit dem Fall erhalten zurück
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
Andere Tipps
Im Gegensatz zu der CIM_DataFile.Name
Eigenschaft, die FileName
und Extension
Eigenschaften sind Groß- und Kleinschreibung. Also, wenn es notwendig ist, für Sie WMI zu verwenden, können Sie die Dateinamen und Erweiterung abrufen getrennt:
WScript.Echo objFile.FileName & "." & objFile.Extension
Mike Lösung ist besser, aber hier ist eine sehr UGLY Alternative:
Mit der Shell exec dem folgenden Befehl ausführen:
dir c:\scripts /B>file.txt
"file.txt" enthält die Datei mit der richtigen Gehäuse aufgeführt.
Sorry, es ist hässlich, aber funktioniert.