IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

[CMD] déclarer en variable le dossier parent


Sujet :

Windows

  1. #1
    En attente de confirmation mail
    Homme Profil pro
    Géomaticien (plutôt sur Arcgis...)
    Inscrit en
    Juillet 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Géomaticien (plutôt sur Arcgis...)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2013
    Messages : 49
    Points : 29
    Points
    29
    Par défaut [CMD] déclarer en variable le dossier parent
    Bonjour,

    Dans des dossiers particulier je voudrais lancer un script python.
    Je ne veux pas multiplier mon script python dans chaque dossier car je le souhaite unique et toujours à jour.
    Par contre je veux le lancer dans les répertoires où j'en ai besoin, depuis un cmd.

    c:\...\python.exe "\\srv\...\monscript.py"

    J'ai donc besoin de renvoyer en variable le dossier parent où se trouvera mon cmd de lancement. Et là je ne trouve pas la commande pour déclarer le dossier parent en variable?

    c:\...\python.exe "\\srv\...\monscript.py" %variable (chemin complet dossier parent)

    est-ce quelqu'un connais svp?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 932
    Points : 23 240
    Points
    23 240
    Billets dans le blog
    10
    Par défaut
    Bonjour

    Tu ne peux pas utiliser la variable Path

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Pour le chemin toto
    
    Path c:\toto
    
    Ensuite tu peux utiliser la variable 
    
    %PATH%
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  3. #3
    En attente de confirmation mail
    Homme Profil pro
    Géomaticien (plutôt sur Arcgis...)
    Inscrit en
    Juillet 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Géomaticien (plutôt sur Arcgis...)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2013
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Je viens de tester en faisant echo %PATH%, mais il me remonte toute mes variables d'environnement. Mais ce n'est pas mon besoin

    En fait, ce que je souhaiterai c'est utiliser le dossier parent de où ce trouvera mon cmd, ex; "c:\cartographie\mon projet\mes script". Puis que je le déclare en variable. Mais que ce ne soit pas moi, qui à chaque fois que je dupliquerai mon cmd, qui est besoin de lui donner le chemin en variable.

    Mon explication est-elle mieux?

    MErci

  4. #4
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 932
    Points : 23 240
    Points
    23 240
    Billets dans le blog
    10
    Par défaut
    Je ne comprends pas ton problème.

    Tu ne peux pas déclarer dans chacun des fichiers Batch une variable Path ?

    Tu pourrais d'ailleurs utiliser Path_toto Path_tata Path_titi ainsi de suite.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  5. #5
    En attente de confirmation mail
    Homme Profil pro
    Géomaticien (plutôt sur Arcgis...)
    Inscrit en
    Juillet 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Géomaticien (plutôt sur Arcgis...)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2013
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Je voudrai déclaré une variable qui est le dossier parent de où ce trouve le cmd.
    N'importe où que ce trouve le cmd, il trouve lui-même son dossier parent et il me le met en tant que variable.

    Lorsque tu écris, c'est toi qui le met manuellement, c'est cela? Moi je souhaiterai qu'il le trouve lui même à chaque lancement.

    Merci

  6. #6
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 932
    Points : 23 240
    Points
    23 240
    Billets dans le blog
    10
    Par défaut
    Mais si tu lances un batch il sait bien où il se trouve non ?

    Tu ne veux pas lancer de Batch du dossier toto et qu'il te dise qu'il est dans le dossier tata.

    Dans ce cas il faut utiliser ce même Batch pour positionner la variable Path.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  7. #7
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 437
    Points : 43 078
    Points
    43 078
    Par défaut
    Pour avoir accès au parent du dossier en cours, utilises le chemin :
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  8. #8
    En attente de confirmation mail
    Homme Profil pro
    Géomaticien (plutôt sur Arcgis...)
    Inscrit en
    Juillet 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Géomaticien (plutôt sur Arcgis...)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2013
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Je comprend bien ce que tu veux dire JML19, mais j'ai besoin de récupérer l'info sous forme de variable pour pouvoir renvoyer cette variable dans un script python.
    Mon script python, lui ne connais pas où ce trouve le cmd qui lui dit de démarrer et de traiter ma base de donnée qui se trouve dans le répertoire du cmd.

  9. #9
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 932
    Points : 23 240
    Points
    23 240
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par little_kevin Voir le message
    Je comprend bien ce que tu veux dire JML19, mais j'ai besoin de récupérer l'info sous forme de variable pour pouvoir renvoyer cette variable dans un script python.
    Mon script python, lui ne connais pas où ce trouve le cmd qui lui dit de démarrer et de traiter ma base de donnée qui se trouve dans le répertoire du cmd.
    Bonjour

    Lorsque tu lances ton Batch en premier tu positionnes la variable Path avec l'endroit où ce trouve ce Bath.

    Ensuite tu ne peux pas communiquer cette variable à ton Script Python avant de l'exécuter ?

    Je ne connais pas Python je ne sais pas si tu peux lui communiquer cette variable dans le Script.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  10. #10
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 437
    Points : 43 078
    Points
    43 078
    Par défaut
    tu n'es pas obligé d'utiliser une variable, tu mets ceci en chemin de ton script :
    cette commande lancera le script nommé dans le répertoire parent du dossier en cours.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  11. #11
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Pour retourner le répertoire où se trouve le fichier de commandes : %~dp0

    Cela consiste à extraire le lecteur/chemin (drive/path) du paramètre 0 (%0) qui est le nom et chemin complet du script.

  12. #12
    En attente de confirmation mail
    Homme Profil pro
    Géomaticien (plutôt sur Arcgis...)
    Inscrit en
    Juillet 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Géomaticien (plutôt sur Arcgis...)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2013
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    monscript python est dans un répertoire particulier genre \\...informatique\python\script.

    Mon cmd sera dupliqué dans chaqcun de mes projets;
    \\...\projet1\moncmd
    \\...\projet2\moncmd

    le cmd lancé ira rechercher mon py dans \\...informatique\python\script, en lui donnant l'info qu'il doit traiter le répertoire parent du cmd lancé.

    Merci Andnotor, c'est ce que je recherche. Du coup j'ai fait une recherche sur le net avec %~dp0. et j'ai trouver également une autre commande: %cd%.

    J'ai testé les résultats dans un cmd:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    echo 1 %cd% >C:\test\log.txt
    echo 2 %~dp0 >>C:\test\log.txt
    set toto=%~dp0 >>C:\test\log.txt
    echo 3 %toto% >>C:\test\log.txt
    set toto=%cd% >>C:\test\log.txt
    echo 4 %toto% >>C:\test\log.txt
    finalement %cd%, me convient mieux car il n'a pas "\" à la fin.

    Merci à tous

  13. #13
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Attention tout de même à %cd% qui n'est pas invariable contrairement à %~dp0

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Nom du dossier parent seul dans une variable
    Par ValPhi dans le forum VBScript
    Réponses: 8
    Dernier message: 31/05/2020, 09h05
  2. ateindre un dossier parent dans la source d'une balise imag
    Par benjamin_normand dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 07/01/2006, 14h00
  3. Réponses: 5
    Dernier message: 20/09/2005, 22h48
  4. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 12h50
  5. acces à la Bd situee dans le dossier parent
    Par trialrofr dans le forum ASP
    Réponses: 4
    Dernier message: 04/01/2005, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo