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

Scripts/Batch Discussion :

Dossier parent et chemin UNC [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut Dossier parent et chemin UNC
    Bonjour, je cherche comment pouvoir connaitre le dossier parent quand j'exécute un script depuis un chemin unc.

    J'ai fais initialement ceci

    cd %~dp0
    cd ..
    %cd%

    Sa marche très bien quand je suis sur un lecteur local ou mappé, mais via le chemin UNC c'est la mort et je sèche vraiment, avez vous une solution pour connaitre le dossier parent via le chemin unc ?

  2. #2
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut
    Je m'explique quand je fais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set _dossierparent=%~dp0..\
    echo. %_dossierparent%
    Sa me donne comme résultat :
    \\postetoto\Users\greg\Desktop\installer\..\

    alors que moi je veux arriver dans :
    \\postetoto\Users\greg\Desktop\


    -----------------------------------------------------------------------------------------------------------------------
    Mais si je fais ceci

    Il répond qu'il ne peux pas monter le chemin unc \\postetoto\Users\greg\Desktop\installer\..\
    Si j'exécute le script en local sa fonctionne et je suis dans dans c:\Users\greg\Desktop\

    Pourquoi il affiche les ..\ alors que en local il le monte sur le bonne endroit (un problème d'affichage ?)

  3. #3
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Tu peux faire une substitution :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set _dossierparent="%~dp0"
    set _dossierparent=%_dossierparent:installer=%
     
    echo %_dossierparent%


  4. #4
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut
    Citation Envoyé par sachadee Voir le message
    Tu peux faire une substitution :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set _dossierparent="%~dp0"
    set _dossierparent=%_dossierparent:installer=%
     
    echo %_dossierparent%

    Sauf que le dossier installer peux en fait être toto ou encore titi ect...
    Si on peut supprimer la dernière chaine \ledossier et de manière dynamique dans ce cas sa serait parfait.

  5. #5
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Une autre substitution :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    @echo off
     
    set $RepertoireCourant=%~dp0
    for %%a in (%$RepertoireCourant%.) do set $Asubstituer=%%~nxa
     
    setlocal EnableDelayedExpansion
    set $DossierParent=!$RepertoireCourant:%$ASubstituer%\=!
    setlocal DisableDelayedExpansion
     
    echo %$DossierParent%
    Pause

  6. #6
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut
    Citation Envoyé par sachadee Voir le message
    Une autre substitution :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    @echo off
     
    set $RepertoireCourant=%~dp0
    for %%a in (%$RepertoireCourant%.) do set $Asubstituer=%%~nxa
     
    setlocal EnableDelayedExpansion
    set $DossierParent=!$RepertoireCourant:%$ASubstituer%\=!
    setlocal DisableDelayedExpansion
     
    echo %$DossierParent%
    Pause
    Super sa marche hyper bien et question existentiel si je veux remonter de X dossiers ?

  7. #7
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Une autre méthode beaucoup plus simple que m'a passer mon ami @temp :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo off
    for /f "tokens=*" %%i in ("%~dp0..\") do set "$DossierParent=%%~dpi"
    echo %$DossierParent%

    Et si tu veux remonter x répertoire :

    Set la variable $NB avec le nombre désiré :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
     
    set "$Dossier=%~dp0"
    set "$NB=3"
     
    :remonte
    If %$NB%==0 exit/b
    for /f "tokens=*" %%i in ("%$Dossier%..\") do set "$Dossier=%%~dpi"
    set /a "$NB-=1"
    echo %$Dossier%
    goto:remonte


  8. #8
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut
    Citation Envoyé par sachadee Voir le message
    Une autre méthode beaucoup plus simple que m'a passer mon ami @temp :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo off
    for /f "tokens=*" %%i in ("%~dp0..\") do set "$DossierParent=%%~dpi"
    echo %$DossierParent%

    Et si tu veux remonter x répertoire :

    Set la variable $NB avec le nombre désiré :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
     
    set "$Dossier=%~dp0"
    set "$NB=3"
     
    :remonte
    If %$NB%==0 exit/b
    for /f "tokens=*" %%i in ("%$Dossier%..\") do set "$Dossier=%%~dpi"
    set /a "$NB-=1"
    echo %$Dossier%
    goto:remonte

    Merci beaucoup

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

Discussions similaires

  1. Récupérer le chemin UNC d'un PC
    Par soso78 dans le forum Access
    Réponses: 2
    Dernier message: 26/01/2006, 11h34
  2. ouvrir un fichier par chemin unc
    Par MrEddy dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 11/01/2006, 10h45
  3. 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
  4. obtenir le nom du dernier dossier dans un chemin
    Par Mitaka dans le forum Langage
    Réponses: 16
    Dernier message: 15/12/2005, 17h05
  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