Bonjour à vous tous,
Je suis en train de m'arracher les cheveux sur un truc qui parait relativement simple.
Je souhaite récupérer les valeurs de deux variables et les envoyer dans un fichier sur une seule et même ligne et séparées par un point-virgule (pour un futur csv).
Voici mon code :
Code bat : 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
21
22
23 ::Déclaration des variables set Secedit=c:\temp\%computername%-secedit.txt set Audit=c:\temp\%computername%-LogOnLocally.txt set Resultat=c:\temp\%computername%-resultat.txt ::Extraction des valeurs du secedit dans le fichier Secedit secedit /export /cfg %Secedit% ::Recherche de la ligne SeInteractiveLogonRight dans Secedit et extraction de la ligne dans Resultat type %Secedit% | findstr "SeInteractiveLogonRight" > %Resultat% ::Création du fichier Audit avec valeur hostname et contenu séparés par un point-virgule set Ligne=type %Resultat% echo %computername%;%Ligne% > %Audit% ::Suppression des fichiers temporaires del %Secedit% del %Resultat%
C'est donc au niveau de la ligne 18 que ça pose problème.
Je n'arrive pas à lancer 2 commandes et récupérer leurs résultats dans une ligne (j'ai essayé tous les opérateurs &, &&, |, etc...)
J'ai essayé ceci :
- %computername%;%Ligne% > %Audit%
- %computername% & %Ligne% > %Audit%
- en déclarant le hostname dans une variable mais c'est inutile...
- avec un pipe mais c'est inutile...
- avec variable et en parsant directement le contenu : type %Host% & type %Resultat% > %Audit%...
Bref dans tous les cas je n'obtiens que la dernière commande passée en paramètre ou le nom de la variable (cad "type %Resultat%" par exemple et non la valeur qu'elle contient)
Pour info j'ai déjà la même chose en Powershell qui fonctionne :
Mais là je dois faire ça sur du 2003...
Code : Sélectionner tout - Visualiser dans une fenêtre à part "%Hostname%;%Content%" | Out-file -filepath %Audit% -encoding ascii
Merci de votre aide
Partager