[BATCH] Commande DOS
Résolu
babykichon
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
babykichon Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
babykichon Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis sur un petit .bat et j'ai un petit soucis.
Voici la ligne qui pose probleme :
FOR /F %%a IN (tata.txt) DO copy %PWD%\%%a\toto_%%a.txt >>temp.txt
sachant que mon fichier tata contient les differents noms dont j'ai besoin pour mes fichiers a recuperer.
Voila donc, arrive ici, il me remplace le %%a par le premier mot de mon tata.txt, puis le second, etc etc ....
Probleme : il rajoute un espace juste avant le \%%a ... donc impossible de lire le PATH.
ca me donne un truc du genre : c:\test(ESPACE)\tatanom\toto_tatanom.txt 1>>temp.txt
Je n'ai pas la solution pour retirer cet espace, si quelqu'un a la solutionm d'avance merci.
car du coup, mon temp.txt est rempli de "The system cannot find the file specified."
je suis sur un petit .bat et j'ai un petit soucis.
Voici la ligne qui pose probleme :
FOR /F %%a IN (tata.txt) DO copy %PWD%\%%a\toto_%%a.txt >>temp.txt
sachant que mon fichier tata contient les differents noms dont j'ai besoin pour mes fichiers a recuperer.
Voila donc, arrive ici, il me remplace le %%a par le premier mot de mon tata.txt, puis le second, etc etc ....
Probleme : il rajoute un espace juste avant le \%%a ... donc impossible de lire le PATH.
ca me donne un truc du genre : c:\test(ESPACE)\tatanom\toto_tatanom.txt 1>>temp.txt
Je n'ai pas la solution pour retirer cet espace, si quelqu'un a la solutionm d'avance merci.
car du coup, mon temp.txt est rempli de "The system cannot find the file specified."
A voir également:
- [BATCH] Commande DOS
- Invite de commande - Guide
- Commande terminal mac - Guide
- Fichier batch - Guide
- Commande dism - Guide
- Diskpart commande - Guide
7 réponses
Bon tout marche niquel, voici le resultat
set PWD=%~dp0
set PWD=%PWD:\riri\=\fifi%
set PWD=%PWD:~0,-1%
M'enfin 3 lignes pour recuperer le path courant, changer juste de folders .... ca me pique quand meme les yeux, j'aurais bien aime une solution du style :
set PWD=%CD:\riri\=\fifi%~0,-1%
bon je me doute que je vais en faire friser plus d'un tellement ca doit etre faux, mais l'idee me plait bien ....
EDIT :
set PWD=%CD:\riri=\fifi%
it works :D
et avec cette ligne je n'ai meme plus le probleme d'espace, merci pour votre aide.
Ca servira a d'autres je l'espere :D
set PWD=%~dp0
set PWD=%PWD:\riri\=\fifi%
set PWD=%PWD:~0,-1%
M'enfin 3 lignes pour recuperer le path courant, changer juste de folders .... ca me pique quand meme les yeux, j'aurais bien aime une solution du style :
set PWD=%CD:\riri\=\fifi%~0,-1%
bon je me doute que je vais en faire friser plus d'un tellement ca doit etre faux, mais l'idee me plait bien ....
EDIT :
set PWD=%CD:\riri=\fifi%
it works :D
et avec cette ligne je n'ai meme plus le probleme d'espace, merci pour votre aide.
Ca servira a d'autres je l'espere :D
Je ne maitrise pas la programmation batch a cause de ses variables bizarres mais si ça pouvait t'aider j'en serais ravi.
http://www.hotline-pc.org/batch.htm#2101
http://www.hotline-pc.org/batch.htm#2101
Merci a vous,
pour le lien je suis dessus, j'espere bien trouver une reponse il a l'air plutot detaille.
Concernant le "delims=", cela ne change rien T_T, merci quand meme :D
pour le lien je suis dessus, j'espere bien trouver une reponse il a l'air plutot detaille.
Concernant le "delims=", cela ne change rien T_T, merci quand meme :D
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
peut-on voir le contenu de tata.txt
ne serait-ce pas la variable PWD qui a un espace à la fin ?
pour vérifier : echo +%PWD%+
ne serait-ce pas la variable PWD qui a un espace à la fin ?
pour vérifier : echo +%PWD%+
Voici le contenu :
pierre
jaques
bob
paul
dede
Mais je pense que je m'y prends mal en plus de mon probleme d'espace, en faite je veux copier a la suite dans mon temp.txt, ce qu'il y a dans : toto_pierre.txt, toto_jacques.txt etc etc...
Cette ligne
copy "%PWD%\%%a\toto_%%a.txt" >>temp.txt, provenait d'une ligne linux qui utilisait la commande cat que j'ai remplace par copy mais du coup dans mon temp.txt il ecrit le resultat de l'operation a savoir :
" 1 file(s) copied."
et me reecrit mon toto_pierre.txt dans un nouveau toto_pierre.txt dans le repertoire courant.
A la limite ceci n'est pas grave suffit de trouver la bonne commande, en revanche pour l'espace, ce probleme m'embete particulierement ...
EDIT : En effet le probleme vient de PWD qui possede un espace supplementaire... Voila comment je set mon PWD :
set PWD=%~dp0
set PWD=%PWD:\riri\=\fifi%
Il faudrait peut etre rajouter un set %PWD:~0,-1%, je sais pas si ca marche, je debute depuis ce matin en DOS donc bon ...
pierre
jaques
bob
paul
dede
Mais je pense que je m'y prends mal en plus de mon probleme d'espace, en faite je veux copier a la suite dans mon temp.txt, ce qu'il y a dans : toto_pierre.txt, toto_jacques.txt etc etc...
Cette ligne
copy "%PWD%\%%a\toto_%%a.txt" >>temp.txt, provenait d'une ligne linux qui utilisait la commande cat que j'ai remplace par copy mais du coup dans mon temp.txt il ecrit le resultat de l'operation a savoir :
" 1 file(s) copied."
et me reecrit mon toto_pierre.txt dans un nouveau toto_pierre.txt dans le repertoire courant.
A la limite ceci n'est pas grave suffit de trouver la bonne commande, en revanche pour l'espace, ce probleme m'embete particulierement ...
EDIT : En effet le probleme vient de PWD qui possede un espace supplementaire... Voila comment je set mon PWD :
set PWD=%~dp0
set PWD=%PWD:\riri\=\fifi%
Il faudrait peut etre rajouter un set %PWD:~0,-1%, je sais pas si ca marche, je debute depuis ce matin en DOS donc bon ...