Posez votre question Signaler

[BATCH] Variables et fichier .txt [Résolu]

Unamed - Dernière réponse le 14 déc. 2008 à 13:16
Bonjour,
Je débute actuellement en programmation et l'idée m'est venue de créer un .bat qui écrirait automatiquement dans un fichier texte plusieurs informations sur le PC sur lequel il est exécuté.
Or, je n'arrive pas a faire fonctionner correctement mon .bat :
Prenons par exemple ce bout de code.
@echo off
@echo %COMPUTERNAME% > %CD%\Info.txt
pause
Théoriquement, je devrait me retrouver avec un fichier texte dans lequel serait inscrit le nom de l'ordinateur et qui se trouverait dans le répertoire d'exécution du .bat, Ce qui n'est bien sur pas le cas.
J'ai donc tenté deux chose :
-Écrire un texte simple. Peut être les variables ne sont elles pas acceptées ?
@echo off
@echo blablabla > %CD%\Info.txt
pause
La aussi le fichier texte n'est pas créé.
-Remplacer la variable %CD% de destination par un chemin d'accès normal.
@echo off
@echo %COMPUTERNAME% > C:\Info.txt
pause
Idem, le fichier n'est toujours pas créé.
Cependant, si j'écris ceci :
@echo off
@echo blablabla > C:\Info.txt
@echo %COMPUTERNAME% > C:\Info.txt
pause
Le fichier est bien créé mais la valeur de la variable %COMPUTERNAME% n'apparait pas dans le fichier texte crée, seul blablabla est écrit.
J'aurai donc besoin que vous m'éclairiez sur ce problème en m'expliquant :
-Comment écrire la valeur d'une variable dans un fichier .txt ?
-Comment définir un chemin de destination avec une variable tel que %CD%\Info.txt ?
En espérant avoir été suffisamment clair,
Unamed
Lire la suite 

[BATCH] Variables et fichier .txt »

6 réponses
Réponse
+2
moins plus
Salut, voila un code qui va enregistrer le nom de l'ordinateur et le nom d'utilisateur dans le fichier Info.txt :
La variable %USERNAME% doit être rediriger avec ">>" et non pas ">" (sans les "") car sinon, il ecrasera le contenu du fichier. Le ">>" permet d'ajouter quelque chose sans supprimer se qu'il y avait au départ

@echo off
echo %COMPUTERNAME% > "%CD%\Info.txt"
echo %USERNAME% >> "%CD%\Info.txt"


Si tu as d'autre question, demandes...

@+
Unamed- 14 déc. 2008 à 11:35
Merci de ta réponse H4RDW4RE,

Seulement c'est un oubli de ma part, en effet j'utilise bien ">>" pour écrire d'autres informations en fin de fichier.

De plus si tu relis mon message tu remarquera que j'ai spécifié qu'il m'était impossible d'enregistrer la valeur d'une variable avec @echo %VARIABLE% > Fichier.txt car la valeur n'est pas retranscrite dans le fichier texte.
Cela ne répond donc pas à ma question, désolé.

Merci tout de même pour ta rapidité =)

EDIT :

J'ai cependant remarqué que tu avait rajouté des " à la fin et au début du chemin de destination, effectivement sa marche =)
Merci de ton aide
Ajouter un commentaire
Réponse
+1
moins plus
Une variable peut être enregistrer dans un fichier texte comme n'importe quel données (sauf les variables temporaires de la commande FOR)


Exemple :

@echo off
cls
echo.
set /p VAR=Entre un mot au choix : 
echo Votre mot est : %VAR% >> "%CD%\VAR.txt"
exit


Ajouter un commentaire
Réponse
+0
moins plus
Autant pour moi =)

Une dernière chose, Si je défini une variable %VAR% avec comme valeur > NUL et que par la suite je l'inscrit dans un fichier texte, j'ai : "Commande ECHO Desactivé"

Merci encore,
Unamed
Ajouter un commentaire
Réponse
+0
moins plus
salut,

var=
Echo %var% >"%CD%\VAR.txt"


va afficher "Commande ECHO Desactivé" parceque la commande ECHO à la fonction d'afficher du String, ou bien (2e fonction) d'activer/désactiver l'echo, or dans, notre cas la commande ECHO va chercher à afficher ce qui la suit, si elle ne trouve RIEN alors elle se contentera de nous dire si l'echo est activé ou pas.
voir Echo /?

Pour contourner ce problème un simple "." à la suite de la commande Echo permettera de lui "dire" que ce qui suit n'est pas une chaîne mais un retour à la ligne ceci va provoquer la création d'un fichier contenant RIEN ...

le code devient :

var=
Echo.%var% >"%CD%\VAR.txt"



Ajouter un commentaire
Réponse
+0
moins plus
Merci à vous deux pour vos explications =)

Unamed
Ajouter un commentaire
Ce document intitulé « [BATCH] Variables et fichier .txt » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?