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:
Voilà je voudrais extraire le nom du serveur qui se trouve ici (FRCPPROD0139):
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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
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...FVS-CUSTOMER+-SYSTEM-WINDOWS-FRCPPROD0139-Fiche_de_Vie_Supervision.xls
Voici mon code, le seul argument requis est le session name de l'utilisateur:
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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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