VBScriptで大文字と小文字を区別してファイルを列挙?
-
12-09-2019 - |
質問
私は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で、大文字と小文字の区別が付いたファイルを列挙する方法はありますか?
解決
あなたはFileSystemObjectオブジェクトを使用する場合は、保存された場合と名前を取り戻すでしょう。
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
他のヒント
CIM_DataFile.Name
プロパティとは異なり、FileName
とExtension
特性は、大文字と小文字が区別されています。あなたはWMIを使用することが必要だのであれば、あなたは別に、ファイル名と拡張子を取得することができます:
WScript.Echo objFile.FileName & "." & objFile.Extension
マイクのソリューションは良いですが、ここでは非常にUGLY代替です:
シェルExecは、次のコマンドを実行して使用します:
dir c:\scripts /B>file.txt
今 "file.txtなどは、" 適切な筐体に記載されているファイルが含まれています。
申し訳ありませんが、それは醜いだが動作します。
所属していません StackOverflow