Bonjour,
je suis confronté à un problème depuis plusieurs jours, j'ai beau tout tenté, je ne trouve pas de solution a ce problème qui semble assez simple pourtant...
Voila, j'ai un fichier qui contient ce genre 1 ou plusieurs lignes:
C:\php\php.exe D:\IBR_TOOLS\php_depot\steria\sitescope\integration\integration_socle_technique.php --conf D:\IBR_TOOLS\conf_clients\sitescope\CUSTOMER_sitescope_serveurs_prod.xml --sitescope_utilise FRCP00VPD0040 --code_client INTEGRATION --methode_connexion WMI --verbose --fichier_fvs "D:\FVS_INTEGRATION\ngreder\FVS-CUSTOMER+-SYSTEM-WINDOWS-FRCPPROD0139-Fiche_de_Vie_Supervision.xls" | findstr Exit >> \\frghcswsisv01\fvs_integration\ngreder\output.txt
Voilà je voudrais extraire le nom du serveur qui se trouve ici (FRCPPROD0139):
FVS-CUSTOMER+-SYSTEM-WINDOWS-FRCPPROD0139-Fiche_de_Vie_Supervision.xls
Alors toutes les lignes ressemblent peu ou prou à ça, mais il peut y avoir des champs en moins dans la commande, et le nom du serveur peut être suivi ou nom du domaine, on ne peut donc pas partir sur une fonction Mid je pense. J'ai beau tester avec les regex, rien a faire la fonction Replace m'enlève la partie matchée, je veux tout l"inverse, je veux sortir que le nom du serveur, la méthode execute me génère une erreur...
Voici mon code, le seul argument requis est le session name de l'utilisateur:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Set myRegExp = New RegExp
myRegExp.IgnoreCase = True
myRegExp.Global = False
myRegExp.Pattern = "(WINDOWS|LINUX)-(.*)-"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
userprofile = WScript.Arguments.Item(0)
dim filesys, text, readfile, contents, CI_name
set filesys = CreateObject("Scripting.FileSystemObject")
Set oShell = WScript.CreateObject("WSCript.shell")
set readfile = filesys.OpenTextFile("D:\FVS_Integration\" & userprofile & "\command_OO.txt", 1, false)
do while readfile.AtEndOfStream=false
contents = readfile.ReadLine
wscript.echo contents
Set output = objFSO.CreateTextFile("\\FRGHCSWSISV01\FVS_Integration\" & userprofile & "\output.txt", 1)
set CI_name = myRegExp.Execute(contents)
wscript.echo CI_name
'oShell.run ("cmd /C " & contents)
loop
readfile.close |
J'ai tenté le regex.replace en utilisant les $1 pour renvoyer le premier match, mais malgré de nombreux exemples trouvés sur le net, cela ne fonctionne pas chez moi...
Bref je n'ai plus d'idée...
D'avance merci pour votre aide, et désolé de polluer le forum pour un truc aussi trivial mais je sèche là
Partager