Attribuer le nom d'un sous-repertoire à une varriable.

Résolu/Fermé
anaspace - Modifié par anaspace le 16/02/2014 à 04:20
 anaspace - 17 févr. 2014 à 01:01
bonjour;

Sous DOS, comment pourrai-je copier un fichier nommé "text.txt", dont le chemin complet est "C:\Users\Moi\rep1\rep2\??????.end\text.txt", sachant que je ne connais que la deuxième partie du dossier parent ".end" (dont le nom contient un point au milieu ~) et je veux le copier dans "c:\" ?
J'ai essayé de mettre le résultat de la commande dir "*.end" dans une varriable %var% mais sans succès...

mille merci d'avance.

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
16 févr. 2014 à 09:35
hello
passer par une boucle for pour capturer la commande dir dans une variable %a
for /F "delims=" %a in ('dir *.end') do @echo %a

ps: %a en interactif, %%a dans un .bat
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
16 févr. 2014 à 15:06
correction
for /F "delims=" %a in ('dir /b *.end') do @echo %a
0
salut,

tout d'abord, merci à vous dubcek.
et je tiens à vous informer que je suis un débutant...
J'ai mis votre code mais le fichier qui devrai recevoir le résultat est resté vide.
aussi, la commande "pause" semble ne pas fonctionner, car la fenêtre CMD n'a fait qu'un flash et a disparu.
je n'est pas compris la dernière ligne que tu as écrite: (ps: %a en interactif, %%a dans un .bat)

voila mon code:
@echo off
for /F "delims=" %a in ('dir /b *.end') do echo %a >> d:\resultat.txt
pause

N.B: j'exécute le .bat à partir du lecteur D:\
0
salut

j'ai trouvé un autre code qui a bien fonctionné grâce aux idées présentées par dubcek.

voici le code:

@echo off
dir %HOMEDRIVE%%HOMEPATH%\rep1\rep2\ /b > %DRIVEPATH%\resultat.txt
exit

et en ouvrant le fichier "resultat.txt" j'ai trouvé le nom complet du répertoire en question "xxxxx.end".

il ne me reste qu'affecter cette chaine de caractères à une variable "MaVariable" pour l'introduire en suite au chemin complet vers le fichier à coupier "text.txt" pour obtenir le chemin suivant:
"C:\Users\Moi\rep1\rep2\MaVariable\text.txt"

est-ce que quelqu'un pourrai m'aider?

(copier la chaine de caractères du fichier "resultat.txt" dans une variable "MaVariable" et l'introduire ensuite dans le chemin "C:\Users\Moi\rep1\rep2\MaVariable\text.txt")
0
salut tout le monde,

j'ai trouvé la solution:

@echo off
set log=
dir %HOMEDRIVE%%HOMEPATH%\rep1\rep2\ /b > d:\resultat.txt
set /p log=<%DRIVEPATH%\resultat.txt
copy %HOMEDRIVE%%HOMEPATH%\rep1\rep2\%log%\text.txt d:\
del d:\resultat.txt
pause

merci à dubcek pour sa réponse.
mille merci à l'équipe commentcamarche
0