Enumerar los archivos con mayúsculas y minúsculas en VBScript?
-
12-09-2019 - |
Pregunta
Estoy utilizando el siguiente fragmento de código VBScript para enumerar todos los archivos en mi c: \ Scripts \ carpeta:
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
Desafortunadamente objFile.Name devuelve la ruta de todo en minúsculas. Es importante para mí para recuperar el caso de todos los nombres de archivo, es decir, NewFileOne.txt, no debe ser devuelto como newfileone.txt.
¿Hay una manera de enumerar los archivos con mayúsculas y minúsculas en VBScript?
Solución
Si se utiliza el FileSystemObject, que se pondrá en contacto con el caso nombres conservados
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
Otros consejos
A diferencia de la propiedad CIM_DataFile.Name
, las propiedades FileName
y Extension
mayúsculas y minúsculas. Por lo tanto, si es necesario, para que pueda utilizar WMI, se puede recuperar el nombre de archivo y la extensión por separado:
WScript.Echo objFile.FileName & "." & objFile.Extension
La solución de Mike es mejor, pero aquí es una alternativa muy FEO:
Uso de la exec shell ejecutar el comando siguiente:
dir c:\scripts /B>file.txt
Ahora "archivo.txt" contiene el archivo que aparece con carcasa adecuada.
Lo siento, es feo, pero funciona.