Récupérer un fichier unique d'après son extension
Bonjour à tous !
Je souhaite pouvoir récupérer le nom d'un fichier (pour utilisation en pièce jointe d'un email). qui ce trouve dans un répertoire prédéfini.
Jusqu'à là, je n'ai pas de souci. Cela-dit, le nom du fichier que je dois récupérer change lors que chaque génération (depuis une application tierce).
Les seules info qui sont constantes sont : le début du nom et l'entension ".txt", sachant qu'il n'y peut avoir qu'un seul fichier .txt dans le répertoire en même temps. (puisque archivage dans la suite du script).
Il est évident que des méthodes telles que *.txt ne sont pas valables alors dans l'absolu, j'ai pensé bouclé et pendant la séquence renommer ce fichier avec une autre extension. Mais cela ne fonctionne pas.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='c:\'} Where " _
& "ResultClass = CIM_DataFile")
DestFile "Test.xss"
For Each objFile In FileList
strDate = Right(objFile.Name, 3)
If strDate = "txt" Then
objFile.Rename(DestFile)
End If
Set objFile = Nothing
Next |
Ni d'ailleurs avec cette manière :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='c:\'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile In FileList
If objFile.Extension = "txt" Then
strNewName = "test" & Day(Date) & ".txt"
errResult = objFile.Rename(strNewName)
End If
Next |
J'espère que quelqu'un pourra m'aider.
Merci d'avance.
John