Tom's Guide > Forum > Programmation > Problème pour récupérer une variable dans un .txt (batch dos)

Problème pour récupérer une variable dans un .txt (batch dos)

Forum Programmation : Problème pour récupérer une variable dans un .txt (batch dos)

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour à tous, :hello:

Je souhaiterai créer un batch avec différents comptes utilisateur pour obtenir le résultat de backup sur un serveur nommé SRV mais j'ai un problème pour récupérer des variables dans un fichier texte…
Dans un premier temps j'ai créer un batch qui récupère les login et mot de passe des utilisateurs, que je transfert et stock dans deux fichiers .txt

@echo off
rem création du répertoire contenant les login
md C:\pil\log
rem création du répertoire contenant les mdp
md C:\pil\pass
echo **************domaine X**************
rem la ligne suivante demande à l’utilisateur de saisir son login
set /p variable1=Veuillez entrer votre login pour votre compte sur le domaine X :
rem transfert du login de l'utilisateur du domaine X dans le .txt sur C:\pil\log
set variable1 > C:\pil\log\v1.txt
echo votre nom d'utilisateur est : %variable1%
rem la ligne suivante demande à l’utilisateur de saisir son mdp
set /p variable2=Veuillez entrer votre mot de passe pour votre compte sur le domaine X :
rem transfert du mdp de l'utilisateur du domaine X dans le .txt sur C:\pil\pass
set variable2 > C:\pil\pass\v2.txt
echo votre mot de passe est : %variable2%
:FIN

Dans un second temps, j'ai un deuxième batch qui contient :

@echo off
debut
cls
set variable1= (Comment récupérer cette variable à partir de C:\pil\log\v1.txt :pt1cable: ???)
set variable2= (Comment récupérer cette variable à partir de C:\pil\log\v2.txt :pt1cable: ???)
echo Sauvegarde du serveur SRV (sur le domaine X)
net use \\SRV /user: domaineX\%variable1% %variable2%
start \\SRV\c$\Progra~1\VERITAS\NetBackup\logs\bpbkar
............
............
............

Mais c'est ici que je bloque... Je n’arrive pas à me logger avec net use car je ne sais pas comment récupérer mes deux variables %variable1% %variable2% saisi par l’utilisateur à partir
des fichiers texte enregistrés sur C:\pil\log\v1.txt et C:\pil\pass\V2.txt et qui correspondent à
\%variable1% => login
\%variable2% => mot de passe

et envoyer le résultat ici :

set variable1=<C:\pil\log\v1.txt :heink:
set variable2=<C:\pil\pass\v2.txt :heink:

Je ne sais pas comment récupérer les variables des deux fichiers txt :cry:
Comment faire ?
Est ce possible ?
Y a t-il une autre solution? plus simple ?

Est ce que quelqu'un peut m'aider ? Merci pour vos réponse :jap: :jap: :jap:

Cordialement,
Chris

------------------------------ Cordialement,
ToF
;-)
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Merci CRIcky, je ne connaissais pas cette commande, je vais tester ça

------------------------------ Cordialement,
ToF
;-)
Répondre à PSD_ToF

Je suis sur que c'est possible mais je ne sais pas comment faire et je n'ai pas encore trouvé...

Répondre à PSD_ToF

essaie ca

Code :
  1. for /f "usebackq"  %%a in (`type C:\pil\log\v1.txt`) do set variable1=%%a



la commande est en une seule ligne


Message édité par coca25 le 30-03-2007 à 15:34:01
Répondre à coca25

je dois définir mes variables sous quelle forme ?
ça doit ressembler à un truc du style :
set variable1 = FOR /F %variable1 IN (C:\pil\log\v1.txt) DO echo %variable1%
mais ça ne marche pas...

Répondre à PSD_ToF

je viens de tester avec :

set variable1 = for /f "usebackq" %%a in (`type C:\pil\log\v1.txt`) do set variable1=%%a

set variable2 = for /f "usebackq" %%a in (`type C:\pil\pass\v2.txt`) do set variable2=%%a

echo Sauvegarde du serveur SRV (Domaine X)
net use \\SRV /user:Domaine X\%var1% %var2%

Je n'arrive pas à me logger

Répondre à PSD_ToF

pourquoi tu rajoutes le "set variableX =" avant la commande???
dans la commande que je t'ai passé, il y a déjà un set à la fin


Message édité par coca25 le 30-03-2007 à 16:18:33
Répondre à coca25

il ne faut pas faire de set avant le for, c'est c'est le for qui génère la variable.
Ensuite, pas la peine d'utiliser le retour de "type", car le for /F ... in (fichier) lit directement dans le fichier.

Code :
  1. FOR /F %%a IN (C:\pil\log\v1.txt) DO SET variable1=%%a


------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Tout fonctionne parfaitement !!
Merci coca25 et CRIcky pour votre aide et vos explications.
Ca fait plaisir ;-)
Merci encore

cdt,
Chris

Répondre à PSD_ToF
Tom's Guide > Forum > Programmation > Problème pour récupérer une variable dans un .txt (batch dos)
Aller à :

Il y a 321 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens