OVH Cloud OVH Cloud

probleme de syntaxe ?

3 réponses
Avatar
merlin01fr
Bonjour

Je tente d'automatiser une extraction de fichier vbs vers du csv.

Mon code semble correct , mais aucun fichier csv n'est généré , je comprends
pas pourquoi.

Code:


Set fso = CreateObject("Scripting.FileSystemObject")

Set RepDeBase = fso.GetFolder("c:\scripts\extraction")

Set CollectionCheminEtFichier = RepDeBase.Files

For Each CheminEtFichier in CollectionCheminEtFichier

LongueurTotale = Len(CheminEtFichier)
CalculFichierReduit = LongueurTotale - 4
FichierReduit = Left(CheminEtFichier,CalculFichierReduit)


Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "Cscript /nologo " & CheminEtFichier & " >" &
FichierReduit & ".csv"
WScript.Sleep 25000
' Wscript.echo LongueurTotale & " " & CalculFichierReduit & " " &
FichierReduit
Wscript.echo "Cscript /nologo " & CheminEtFichier & " >" &
FichierReduit & ".csv"

Next




Merci par avance pour votre aide

Cordialement

3 réponses

Avatar
Fred
dans : news:
merlin01fr disait :
Bonjour

Je tente d'automatiser une extraction de fichier vbs vers du csv.

Mon code semble correct , mais aucun fichier csv n'est généré , je
comprends pas pourquoi.

Code:


Set fso = CreateObject("Scripting.FileSystemObject")

Set RepDeBase = fso.GetFolder("c:scriptsextraction")

Set CollectionCheminEtFichier = RepDeBase.Files

For Each CheminEtFichier in CollectionCheminEtFichier

LongueurTotale = Len(CheminEtFichier)
CalculFichierReduit = LongueurTotale - 4
FichierReduit = Left(CheminEtFichier,CalculFichierReduit)


Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "Cscript /nologo " & CheminEtFichier & " >" &
FichierReduit & ".csv"
WScript.Sleep 25000
' Wscript.echo LongueurTotale & " " & CalculFichierReduit & "
" & FichierReduit
Wscript.echo "Cscript /nologo " & CheminEtFichier & " >" &
FichierReduit & ".csv"

Next



Bonjour,

Essaie avec WshShell.Exec ?
Sinon, je ne comprends pas bien l'utilisation que tu fais de la
propriété Files. C'est une collection d'objets File et non une
collection de chemins. Ce qui d'ailleurs te donne accès à d'autres
propriétés concernant les noms et chemins.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
merlin01fr
bonjour fred

et merci pour ta reponse

je ne fais du vbs que depuis deux mois donc j'experimente j'essaie ce ce pas
la methode WshShell.Exec

Cordialement


dans : news:
merlin01fr disait :
Bonjour

Je tente d'automatiser une extraction de fichier vbs vers du csv.

Mon code semble correct , mais aucun fichier csv n'est généré , je
comprends pas pourquoi.

Code:


Set fso = CreateObject("Scripting.FileSystemObject")

Set RepDeBase = fso.GetFolder("c:scriptsextraction")

Set CollectionCheminEtFichier = RepDeBase.Files

For Each CheminEtFichier in CollectionCheminEtFichier

LongueurTotale = Len(CheminEtFichier)
CalculFichierReduit = LongueurTotale - 4
FichierReduit = Left(CheminEtFichier,CalculFichierReduit)


Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "Cscript /nologo " & CheminEtFichier & " >" &
FichierReduit & ".csv"
WScript.Sleep 25000
' Wscript.echo LongueurTotale & " " & CalculFichierReduit & "
" & FichierReduit
Wscript.echo "Cscript /nologo " & CheminEtFichier & " >" &
FichierReduit & ".csv"

Next



Bonjour,

Essaie avec WshShell.Exec ?
Sinon, je ne comprends pas bien l'utilisation que tu fais de la
propriété Files. C'est une collection d'objets File et non une
collection de chemins. Ce qui d'ailleurs te donne accès à d'autres
propriétés concernant les noms et chemins.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT





Avatar
merlin01fr
encore une fois merci Fred

je poste le script fonctionnel

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Outil annexe du generateur d extraction de propriete de classe '
' win32 servant a generer automatiquement les fichiers csv issus '
' des fichiers vbs precedemment crées '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Origine : issu de scriptcenter.chm ce script permettait de liste '
' les fichiers issus d'un repertoire. '
' Merci aussi a pilosite et son site www.scriptovore.com '
' Ainsi qu'a Fred sur forum microsoft.public.fr.scripting '
' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Copyright du plagieur : Gauthier Lapoujade ' Niveau : Debutant '
' alias : merlin01fr ou nathan01fr '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Date de creation : 16/01/2006 ' Derniere Maj : 19/01/2006 '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Modification apportée : une fonction permettant de virer les '
' extensions d'un fichier '
' la ligne de commande permettant de lancer l'extraction '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Mon appreciation du script : J'aime bien , mais l'extraction des '
' informations reste longue , pres d'une heure (deja) sur un '
' portable recent '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' DANS LES PLUS LONG A TRAITER ON TROUVE : '
' ---------------------------------------- '
' Win32_SecuritySetting.vbs => une horreur (deja presque 30 mn) '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Cette partie permet de creer les repertoires qui seront utiles a '
' l'extraction des classes wmi , changez le nom de ces repertoires '
' si vous le souhaitez le script se readaptera en fonction de vos '
' preferences '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

RepDeBase = "c:Scripts"
SousRepDeBase = "c:scriptsextraction"

Set fso = CreateObject("Scripting.FileSystemObject")

If Not fso.FolderExists(RepDeBase) Then
fso.CreateFolder(RepDeBase)
End If

If Not fso.FolderExists(SousRepDeBase) Then
fso.CreateFolder(SousRepDeBase)
End If

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Dans la partie ci-dessous je cree un object fso et applique une '
' collection sur SousRepDeBase '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Set fso = CreateObject("Scripting.FileSystemObject")

Set RepTraitement = fso.GetFolder(SousRepDeBase)

Set CollectionCheminEtFichier = RepTraitement.Files

For Each CheminEtFichier in CollectionCheminEtFichier

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ici je calcule la longueur du chemin + fichier contenu dans '
' CheminEtFichier pour en supprimer l'extension (soit 3 caracteres) '
' et je construit ma variable FichierReduit avec le resultat des '
' autres variables precedemment crées '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

LongueurTotale = Len(CheminEtFichier)
CalculFichierReduit = LongueurTotale - 3
FichierReduit = Left(CheminEtFichier,CalculFichierReduit)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' la commande d'extraction des fichiers csv est lancée et je rajoute'
' une boucle qui attend la fin de la commande avant d'en lancer une '
' autre '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Set WshShell = WScript.CreateObject("WScript.Shell")
Set ExtractCsv = WshShell.Exec ("cmd /c Cscript /nologo " &
CheminEtFichier & " >" & FichierReduit & "csv")

Do While ExtractCsv.Status = 0
WScript.Sleep 100
Loop

Next