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 :

Passer une variable DOS au FTP en ligne de commande


Sujet :

Windows

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut Passer une variable DOS au FTP en ligne de commande
    Bonjour à tous,

    je cherche à transmettre une variable DOS au client FTP en ligne de commande sous DOS.

    Je commence par définir la variable en commande DOS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set montest=bye
    echo %montest%
    bye
    "bye" est la commande pour quitter le mode FTP. Le but de cet exemple simple est donc simplement de quitter le mode FTP en passant la commande par une variable MSDOS.
    J'entre ensuite en ftp en ligne de commande en tapant "ftp" puis j'entre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ftp> !%montest%
    'bye' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    Donc la variable est correctement récupérée mais pas "interprétée". Si je tape directement bye, par contre ça marche (le mode FTP se termine bien).

    Voilà si quelqu'un a une idée, je suis preneur !

    Merci,

    Karl.

    PS : pour ceux qui veulent en savoir plus sur le FTP en ligne de commande dans Windows XP, voir : http://support.microsoft.com/kb/96269

  2. #2
    Membre confirmé Avatar de cboudy
    Profil pro
    Ingénieur informatique industrielle
    Inscrit en
    Avril 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique industrielle
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 406
    Points : 616
    Points
    616
    Par défaut
    il me semble que le ! éxécute la commande dans le shell et non pas en tant que commande ftp : c'est dos qui te retourne le message d'erreur
    pour preuve tu peux remplacer le bye par dir

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    C'est exact le "!" permet d'éxécuter la commande dans le shell. Donc le message d'erreur qui m'est affiché est le même que si j'avais tapé %montest% dans le shell.

    Ok pas de problème !dir ou !cd etc... marcheront (commandes shell exécutées dans le shell à l'intérieur de la commande FTP) mais sais-tu comment faire pour récupérer ma variable %montest% en tant que commande FTP ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    J'ai trouvé sur le web un moyen détourné de "passer" la variable DOS au FTP. Il s'agit de générer avec le batch un fichier contenant les commandes exécutées par la commande FTP. Et donc dans ce fichier je peux écrire des variables définies dans MSDOS. C'est un peu le principe du PHP qui génère du HTML .
    Trouvé sur :
    http://www.robvanderwoude.com/index.html

    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
    21
    22
    23
    @ECHO OFF
    :: Check if the password was given
    IF "%1"=="" GOTO Syntax
    :: Create the temporary script file
    > script.ftp ECHO USER MyUserId
    >>script.ftp ECHO %1
    >>script.ftp ECHO cd files/pictures
    >>script.ftp ECHO binary
    >>script.ftp ECHO prompt n
    >>script.ftp ECHO mget *.*
    :: Use the temporary script for unattended FTP
    :: Note: depending on your OS version you may have to add a '-n' switch
    FTP -v -s:script.ftp ftp.myhost.net
    :: For the paranoid: overwrite the temporary file before deleting it
    TYPE NUL >script.ftp
    DEL script.ftp
    GOTO End
    
    :Syntax
    ECHO Usage: %0 password
    
    :End
    Donc ça m'ira mais si quelqu'un sait comment faire pour transmettre directement une variable DOS à la commande FTP ça m'intéresse toujours !
    Merci,
    Karl.

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

Discussions similaires

  1. faire passer une variable d'une fct js à une page php
    Par harlock59 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 14h41
  2. Passer une variable C à un script en Javascript
    Par aquouel dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/09/2005, 17h41
  3. [Custom Tags 1.2] Passer une variable comme valeur d'attribut d'un tag jsp
    Par Pi2 dans le forum Taglibs
    Réponses: 7
    Dernier message: 16/09/2005, 14h44
  4. Passer une variable entre deux fenêtres
    Par DeezerD dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/08/2005, 09h52
  5. [Struts] Passer une variable dans l'url
    Par pilz dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/03/2005, 15h23

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