Rechercher : dans
Par :

[batch] contenu d'un fichier dans une variabl

Dernière réponse le 29 nov 2008 à 19:18:12 Lefouerrant, le 29 nov 2008 à 17:43:26 
 Signaler ce message aux modérateurs

Bonjour,
comment mettre le contenu d'un ficher dans une variable en batch

Âne aux nîmes

Meilleures réponses pour « [batch] contenu d'un fichier dans une variabl » dans :
Voir le contenu d'un fichier .jar VoirRien de plus facile que de voir ce que contient un fichier .jar: Renommez-le en .zip et ouvrez-le ! Si vous voulez voir ce que contiennent les programmes java compilés .class, vous devrez utiliser un décompilateur Java tel que JAD:...
[MS-Dos] Ecrire dans un fichier texte en batch VoirPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
Sauvegarde incrémentielle de données avec un .bat (Batch) VoirPourquoi utiliser la sauvegarde incrémentielle ? Sauvegarder vos données importantes avant un formatage par exemple... Au 1er lancement du batch, il sauvegarde l'intégralité des dossiers et fichiers, par contre si vous relancez le batch 2 semaines...

1

H4RDW4RE, le 29 nov 2008 à 18:15:34

Slt, voila le code :

 set VARIABLE= < ton_fichier.txt 


@+

Répondre à H4RDW4RE

2

Lefouerrant, le 29 nov 2008 à 18:21:04

J'ai deja essaye ca marche pas
Âne aux nîmes

Répondre à Lefouerrant

3

SAW4, le 29 nov 2008 à 18:37:17

Salut,

il faut mettre la variable dans une boucle...la variable traite le fichier ligne par ligne donc une boucle FOR /F est la plus approprié pour ce genre de chose ;-)

Répondre à SAW4

4

Lefouerrant, le 29 nov 2008 à 18:43:27

Tu peux me montrer un exemple ?
si ca peut t'aider mon fichier ne contient qu'une seule ligne
Âne aux nîmes

Répondre à Lefouerrant

5

SAW4, le 29 nov 2008 à 19:03:52

Tu peux me montrer ton code ?

Répondre à SAW4

6

Lefouerrant, le 29 nov 2008 à 19:07:08

Rem @echo off

rem voila ma variable :
set var= < bat.txt

echo --
echo %var%
echo --
set var=
pause>nul
Âne aux nîmes

Répondre à Lefouerrant

7

H4RDW4RE, le 29 nov 2008 à 19:09:24

Bon, 2 choses :

1) J'ai oublié une option, dsl...
Le code est :

 set /p VAR= < ton_fichier.txt 




2) Si ton fichier texte fait plusieurs lignes, seule la première (enfin, tant qu'il n n'y a pas de saut de ligne, cela n'exclut pas le retour à la ligne a cause du manque d'espace pour tou écrire a la suite) sera enregistrée : Le DOS ne prend pas en compte les retours a la ligne...

Prenons pour exemple le code :

@echo off
@cls
set /p VARIABLE= < fichier.txt
echo %VARIABLE%
pause>nul



Il a deux sortes de résultats a se code, cela dépend du contenu du fichier texte :

Si le fichier texte contient ceci :

ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ

Sans sauter de ligne (tout a la suite), sa marche.

Si le fichier contient ceci :

ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ

Sa ne marche pas, il faut utiliser FOR /F

@+

Répondre à H4RDW4RE

8

Lefouerrant, le 29 nov 2008 à 19:12:26

Merci beaucoup ! ton code set /p var= < fichier.txt fonctionne
c'est ce que je cherchai !
si tu as besoin d'aide n'esite pas !
Âne aux nîmes

Répondre à Lefouerrant

9

H4RDW4RE, le 29 nov 2008 à 19:13:28

Ok, merci

@+

Répondre à H4RDW4RE

10

SAW4, le 29 nov 2008 à 19:15:35

Si le but de ton batch lire simplement le fichier bat.txt alors il y a la commande TYPE BAT.TXT si par contre tu veux faire des traitement sur ton fichier alors :


For /f "tokens=*" %%a In (bat.txt) do (
echo --
echo %%a
echo -- 
)
set var=
pause>nul

Répondre à SAW4

11

 Lefouerrant, le 29 nov 2008 à 19:18:12

Non non, je voulais simplement stocker le contenu dans une variable merci.
Âne aux nîmes

Répondre à Lefouerrant