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 :

[Batch] Passage de paramètre via drag and drop


Sujet :

Windows

  1. #1
    Membre actif

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 310
    Points : 208
    Points
    208
    Par défaut [Batch] Passage de paramètre via drag and drop
    Bonjour

    J'ai fait un fichier bat qui execute un fichier test.exe
    Ce fichier test.exe demande en paramètre un nom de fichier.

    Donc j'ai fait en sorte que l'on puisse passer en paramètre un nom de fichier au fichier batch. Jusque la tout fonctionne.

    Mais par contre si je glisse un fichier (drag and drop) sur le fichier bat, ça ne fonctionne plus : windows démarre bien mon fichier bat mais pas à partir du répertoire qui contient le fichier bat...

    Si mon fichier bat se situe dans D:\Moi\Desktop\release et que je glisse un fichier sur le fichier bat, le fichier bat s'execute depuis C:\Documents and Settings\Masession et non depuis D:\Moi\Desktop\release :/ Ce qui fait que le fichier bat ne trouve pas le fichier test.exe à executer.

    Comment faire pour pas que windows ne me modifie le répertoire courant?
    Merci d'avance

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par Hell
    Comment faire pour pas que windows ne me modifie le répertoire courant?
    Essaie, dans ton batch, de parser le nom reçu puis de modifier le chemin courant.

  3. #3
    Membre actif

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 310
    Points : 208
    Points
    208
    Par défaut
    Citation Envoyé par Laurent Dardenne Voir le message
    Salut,

    Essaie, dans ton batch, de parser le nom reçu puis de modifier le chemin courant.
    Ca serait bien ouais. Je savais pas que c'était possible de faire ça en batch, tu aurais pas un exemple stp? dans les cours de batch que j'ai vu, j'ai rien vu sur les sous chaine en batch, j'ai aucune idée de comment ça marche.

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Hell Voir le message
    tu aurais pas un exemple stp?
    essaie avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    @echo off
     rem GetDirName.cmd
     
     rem renvoie la partie chemin d'un nom de fichier dans une variable d'environnement passée en paramétre
     rem dans le cas ou un prg attend un paramétre nom de fichier de type FAT16
     rem les espaces contenus dans son nom peuvent poser PB.
     rem si un espace existe dans le nom de fichier, ce nom de fichier seras vu comme une suite de N paramétres
     
     rem %1 = nom de fichier. 
     rem %2 = nom de variable d'environnement. 
     rem 
     rem exemple :
     rem 
     rem GetDirName "c:\temp\t r\1234567890.txt"  DirectoryName
     rem Renvoie, selon le contexte, DirectoryName=c:\temp\t r\
     
    for /F "tokens=*" %%I in ('echo %1') do set Result=%%~dpI
    set %2=%Result%
    set Result=

  5. #5
    Membre actif

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 310
    Points : 208
    Points
    208
    Par défaut
    Merci beaucoup! Je savais pas que ça fonctionnait comme ça, je pensais pas qu'on pouvait faire autant de chose en programmation batch

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Hell Voir le message
    je pensais pas qu'on pouvait faire autant de chose en programmation batch
    Essaie Powershell, là on peut parler de langage de script

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

Discussions similaires

  1. Drag and drop "de l'extérieur"
    Par Invité dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2020, 10h10
  2. [MySQL] Mise à jour d'un tableau via BDD suite à un drag and drop
    Par gat91200 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 04/06/2015, 12h39
  3. Drag and Drop via as3
    Par supernova dans le forum Flex
    Réponses: 16
    Dernier message: 19/11/2009, 10h21
  4. [JSP][DRAG AND DROP]
    Par hamed dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 23/01/2004, 17h36
  5. drag and drop
    Par jujuesteban dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/06/2003, 09h23

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