Help : variable dans un Batch - Help : variable dans un Batch

Bonjour a tous, bon je suis vraiment nul en lignes de commandes, et j’ai un soucis, le voici, je voudrais créer un batch qui m’ouvre un dossier, seul problème ce dossier aura toujours le même chemin sauf que dans son arboréscence un nom de dossier sera différent a chaque fois voici ce que je veux faire :
cd d:\test\variable\travail … je voudrais que mon batch me demande a chaque fois quelle est la variable afin de pouvoir ouvrir le dossier en question…

suis-je bien clair ??? :confused:

QQun a t-il une idée ?

THX :slight_smile:

Pour quel OS ?

il y a plusieurs solutions:

  1. créer un fichier batch en recuperant la variable %1
    cette variable est donnée lors de l’appel du bat ex: c:\test.bat parametre1
  2. si tu n’as pas plus de 10 chemins different, tu peux créer un menu dos
  3. metode avec invite de saisie de la variable ==> fait appel a quelques trucs et astuces pas tres élégant :slight_smile: execution du batch1, saisie de la variable, agregation de fichier texte en fichier batch2 et execution de celui-ci…

Merci Truncate mais comment faire (concrètement ) pour récupérer cette variable ?? avec mon exemple :
cd d:\test\VAR\travail puis (par ex) d:\test\VAR1\travail ???
en fait ce que je veux, c’est dès que je le lance le .bat il me demande la variable puis il l’la prend en compte et m’ouvre le dossier correspondant…

THX

Windows XP…

Alors c’est simple :
set /p VAR=Entrez une valeur ?

Effectivement cela fonctionne pour rentrer une valeur mais comment le mettre en forme lorsque cette valeur se trouve au beau milieu d’une arboréscence ?? :
ex : cd d:\test\“set /p VAR=Entrez une valeur ?”\travail … ça ne fonctionne pas…

Truncate t’as donné la réponse avant même que tu ne pose la question en fait : avec sa méthode, le paramètre se retrouve dans la variable %1.
Donc ça doit donner : cd d:\test\%1\travail

Avec la méthode de nglechau, la valeur saisie par l’utilisateur doit se retrouver dans la variable “VAR”, je suppose.
Là, ça doit donner :
set /p VAR=Entrez une valeur ?
cd d:\test\VAR\travail

Merci beaucoup, on avance, mais ça ne fonctionne pas, la variable doit-elle être définie avant de demander le chemin ? ou doit on la paramétrer avant ?
en respectant :
"set /p VAR=Entrez une valeur ?
cd d:\test\VAR\travail
"

cela ne fonctionne pas car il me demande bien la valeur de VAR mais ne la remplace pas dans le chemin…

set /p VAR=Test?
cd d:\test\VAR\travail

Le chemin d’accès spécifié est inttrouvable”
:confused:

La valeur que tu entre comporterait-elle des espaces ? Auquel cas il faut la mettre enre quote.
Exemple :
"Mon dossier" et pas Mon dossier

Miracle ! J’ai trouvé !
A force d’essayer des trucs au pif j’ai fini par me souvenir d’un bout de commande…
Ton code doit donner ça :

Merci nglechau pour la première ligne :wink:

Voilà, tout à fait ça :jap:

Je n’avais pas pensé que tu ne savais pas utiliser les variables :wink:

@+

Merci Bcp a tous, ça fonctionne impecable…
A la limte dernière question, serait t’il possible dans la commande de renvoyer vers un dossier dont nous ne connaissont pas le nom mais qui est le seul dossier présent dans l’arboréscence : ex : cd d:\test\travail\???\

Thx

C’est un peu tordu… Je ne suis pas sûr que c’est posssible.

Oui, c’est tout à fait possible, ça fait partie des connaissances de base de la programmation en batch :

for /f "usebackq delims=" %%d in (`dir /b /s /a:d d:\test\travail`) do (
  cd /d "%%~d"
)

Tu trouveras plein d’infos sur la syntaxe des commandes + exemples dans l’aide de Windows.

+10
c’est encore mieux que ce que j’avis pensé
rem: j’etait encore sur une idée de recuperation de la commande "copy CON … "
:super:
merci, ca peut aussi me servir :slight_smile:

rem: set /p je ne connaissais pas et l’ai jamais vu :slight_smile:

D’où ma première question portée sur l’OS :wink:

C’est hyper important quand on fait du batch.

Rappelons-nous que nous ne faisons plus du DOS mais du batch Windows :wink: DOS ne connaît pas cette option.

Genial, merci beaucoup, c’est franchement Nickel, Merci a tous encore une fois, c’est pourtant (basic) mais ça permet un gain de temps énorme.

Good Day…

c’est dans ce genre de moments que tu te souviens que tu es nul en batch… :ouch:
quand je dis tu je veux dire je :wink:
et merci pour le tuyau concernant l’aide de windows ça pourra me servir.