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 :

Script pour ftp


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Par défaut Script pour ftp
    Bonsoir,
    Je veux envoyer par ftp un fichier en le faisant glisser sur mon .bat
    Le .bat est comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    echo open dedikam.com > script.ftp
    echo user xxxx >> script.ftp
    echo xxxx >> script.ftp
    echo hash >> script.ftp
    echo cd Temp >> script.ftp
    echo bin >> script.ftp
    echo put %1 >> script.ftp
    echo disconnect >> script.ftp
    echo bye >> script.ftp
    pause
    Si je double clique dessus, cela fonctionne, sans le %1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    open dedikam.com
    user xxxx
    xxxx
    hash
    cd Temp
    bin
    put
    disconnect
    bye
    Par contre, si je fais glisser le fichier dessus, l'affichage dans le console DOS est correct mais il ne crée par script.ftp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    C:\Documents and Settings\charles>echo open dedikam.com 1>script.ftp
    C:\Documents and Settings\charles>echo user xxxx 1>>script.ftp
    C:\Documents and Settings\charles>echo xxxx 1>>script.ftp
    C:\Documents and Settings\charles>echo hash 1>>script.ftp
    C:\Documents and Settings\charles>echo cd Temp 1>>script.ftp
    C:\Documents and Settings\charles>echo bin 1>>script.ftp
    C:\Documents and Settings\charles>echo put "C:\Documents and Settings\charles\Bureau\Lundi 28 octobre 2002.doc" 1>>script.ftp
    C:\Documents and Settings\charles>echo disconnect 1>>script.ftp
    C:\Documents and Settings\charles>echo bye 1>>script.ftp
    C:\Documents and Settings\charles>pause
    Appuyez sur une touche pour continuer...
    Une idée ?

    Merci

  2. #2
    Expert confirmé
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Par défaut
    Le fichier "script.ftp" est créé dans le répertoire d'exécution du .bat original.

    Lorsque tu le lances par glisser-déplacer dans l'explorateur, je ne sais pas où est le répertoire d'exécution.

    Le fichier "script.ftp" doit bien être créé mais il faut savoir où. Essaie de faire une recherche sur le disque.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    Bonjour
    outre les remarques de Shawn12 ton script.ftp doit etre avec ton bat ou crée dans ton repertoire
    tu dois aussi lancer le ftp.

    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
    @echo off
    echo open dedikam.com > script.ftp
    echo user xxxx >> script.ftp
    echo xxxx >> script.ftp
    echo hash >> script.ftp
    echo cd Temp >> script.ftp
    echo bin >> script.ftp
    echo put %1 >> script.ftp
    echo disconnect >> script.ftp
    echo bye >> script.ftp
    
    rem se connecter au ftp via script.ftp
    FTP -s:script.ftp 
    pause
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
    echo user xxxx > script.ftp
    echo xxxx >> script.ftp
    echo hash >> script.ftp
    echo cd Temp >> script.ftp
    echo bin >> script.ftp
    echo put %1 >> script.ftp
    echo disconnect >> script.ftp
    echo bye >> script.ftp
    
    FTP -s:script.ftp open dedikam.com

  4. #4
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Moi quand j'ai ce problème je remplace tout les script.ftp par "%~dp0script.ftp" et ca passe, si c'est bien le probléme

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Par défaut
    Bonjour,

    Je vous remercie pour vos réponses mais en fait mon problème ne vient pas du ftp mais de la création du fichier script, de la récupération du paramètre %1.

    J'ai essayé avec un autre fichier .bat qui ne contient que 2 lignes :
    echo %1 > t.txt
    pause

    1 - Si je double clique dessus, j'ai la création d'un fichier .txt qui contient :
    Commande ECHO activ‚e.

    2 - Si je fais glisser un fichier dessus, le fichier t.txt n'est pas créé.
    J'ai le message suivant dans la console :

    C:\Documents and Settings\charles>echo "C:\Documents and settings\charles\Bureau\Outlook.rdp" 1>t.txt

    C:\Documents and Settings\charles>pause
    Appuyez sur une touche pour continuer...

    Comment inscrire dans le paramètre %1 dans le fichier script ?

    En vous remerciant

  6. #6
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Tu na pas essayer ce que je tes proposé

  7. #7
    Expert confirmé
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Par défaut
    Met le chemin complet du fichier dans lequel tu veux écrire. Par exemple : "C:\mesScripts\script.ftp"

  8. #8
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    je pense que ceci "%~dp0script.ftp" sufira

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Par défaut
    Merci

    J'ai suivi le conseil de koKoTis :

    echo %1 > "%~dp0script.ftp"
    pause

    Et ça fonctionne !

    Mais quelle est la signification de la commande %~dp0 ?

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Par défaut
    Selon vos conseils, voici le nouveau fichier .bat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    echo open dedikam.com> "%~dp0script.ftp"
    (
    echo user XloginX XmotdepasseX
    echo hash
    echo cd Temp
    echo bin
    echo put %1
    echo disconnect
    echo bye
    ) >> "%~dp0script.ftp"
    
    ftp -i -n -s:script.ftp
    pause
    Cela fonctionne bien, le fichier script est correct MAIS :

    *Si je fais glisser un fichier sur le .bat, j'ai une erreur de connexion
    ftp> open dedikam.com
    Connecté à dedikam.com.
    220 ProFTPD 1.3.1 Server (ProFTPD) [94.23.29.104]
    ftp> user XloginX
    331 Password required for XloginX

    530 Login incorrect.
    Échec de l'identification.
    ftp> hash
    *Si je lance le même fichier .bat par un double clic =>
    Il se connecte sans problème
    ftp> open dedikam.com
    Connecté à dedikam.com.
    220 ProFTPD 1.3.1 Server (ProFTPD) [94.23.29.104]
    ftp> user XloginX XmotdepasseX
    331 Password required for XloginX
    230 User XloginX logged in
    ftp> hash
    Dans la première solution, le mot de passe n'est pas envoyé dans la ligne ftp> user XloginX alors qu'il est présent dans le fichier script

    Pour compléter ma demande, je viens de lancer le fichier script (ftp -i -n -s:script.ftp) créé après avoir glissé un fichier sur le .bat et avoir eu une erreur de connexion : ça fonctionne !


  11. #11
    Expert confirmé
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Par défaut
    Tu es sur que c'est le même fichier "script.ftp" qui est utilisé à chaque fois ?

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 42
    Par défaut
    Bonsoir,

    Effectivement, j'ai remplacé le nom script.ftp par 0966AZEQW.ftp et ça fonctionnait bien. Il devait utiliser un autre fichier script.ftp.

    J'ai également modifié mon code
    ftp -i -n -s:"%~dp0script.ftp" pour utiliser le fichier créé.

    Merci

  13. #13
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Citation Envoyé par cc85 Voir le message
    Merci

    J'ai suivi le conseil de koKoTis :

    echo %1 > "%~dp0script.ftp"
    pause

    Et ça fonctionne !

    Mais quelle est la signification de la commande %~dp0 ?
    %0 = Chemin complet du script
    %~n0 = nom du script sans l'extension
    %~x0 = extension du script
    %~nx0 = nom plus extension du script
    %~dp0 = chemin du script sans le non = donc emplacement du script et égale a %cd%

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

Discussions similaires

  1. bash : script pour ftp
    Par troumad dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 28/02/2010, 09h43
  2. Migration sunopsis v4/ODI problème du script jython pour FTP
    Par gusy78 dans le forum ODI (ex-Sunopsis)
    Réponses: 1
    Dernier message: 30/07/2008, 14h21
  3. script pour connexion serveur ftp
    Par arthy dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 13/07/2008, 19h16
  4. SUNOPSIS/ODI problème de script Jython pour FTP
    Par bmontandon dans le forum ODI (ex-Sunopsis)
    Réponses: 2
    Dernier message: 01/10/2007, 14h02
  5. script perl pour ftp
    Par donny dans le forum Modules
    Réponses: 5
    Dernier message: 29/09/2006, 12h02

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