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 :

comment obtenir %~dp0 mais avec les noms courts 8.3 ?


Sujet :

Scripts/Batch

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut comment obtenir %~dp0 mais avec les noms courts 8.3 ?
    Bonjour,
    J'ai un fichier .bat dans un répertoire qui appelle un fichier powershell .ps1 qui se trouve pour l'instant dans le même répertoire.
    Le fichier .bat est appelé depuis un autre répertoire.
    De base mon fichier .bat contient cela notamment :
    powershell .\Export_alm_asset.ps1 -lecteurmap I -serverping servertoto -sortieconsole $true
    Je veux mettre la partie .\ en dynamique.
    J'ai donc mis
    powershell %~dp0Export_alm_asset.ps1 -lecteurmap I -serverping servertoto -sortieconsole $true
    Le problème est que le chemin contient des espaces et j'ai donc l'erreur
    Le terme «C:\Users\titi\OneDrive» n'est pas reconnu comme nom
    d'applet de commande, fonction, fichier de script ou programme exécutable. Vérifiez l'orthographe du nom, ou si un
    chemin d'accès existe, vérifiez que le chemin d'accès est correct et réessayez
    J'ai le même message d'erreur si je mets le nom complet
    powershell C:\Users\titi\OneDrive - maboite\Documents\truc\Export_alm_asset.ps1 -lecteurmap I -serverping servertoto -sortieconsole $true
    Ca marche par contre si je mets
    powershell C:\Users\titi\ONEDRI~1\Documents\truc\Export_alm_asset.ps1 -lecteurmap I -serverping servertoto -sortieconsole $true
    Ma question est donc comment obtenir le même résultat que %~dp0 mais avec les noms courts 8.3 ?
    Et/ou alors comment faire en sorte que la commande "powershell" de mon batch exécute le chemin entier et ne s'arrête pas à l'espace ?

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut
    Alors j'ai trouvé le moyen de faire en sorte qu'il interprète correctement les espaces :
    powershell -command "& {&'%~dp0Export_alm_asset.ps1' -lecteurmap R -serverping servertoto -sortieconsole $true}"
    Si je n'avais pas eu de paramètres, il semble que j'aurais pu faire comme ceci (non testé) :
    powershell -ExecutionPolicy Unrestricted -File "%~dp0Export_alm_asset.ps1"
    Je suis toujours preneur cependant de la solution pour obtenir la version en noms courts de %~dp0

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/12/2013, 10h20
  2. Réponses: 1
    Dernier message: 10/06/2011, 11h07
  3. Réponses: 2
    Dernier message: 12/03/2011, 16h46
  4. Comment remplir un ComboBox avec le nom des feuilles Excel ?
    Par libracom dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 27/06/2005, 15h14
  5. Réponses: 7
    Dernier message: 04/11/2004, 12h20

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