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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"%Hostname%;%Content%" | Out-file -filepath %Audit% -encoding ascii
Mais là je dois faire ça sur du 2003...

Merci de votre aide