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 :

Copie de fichiers sur FTP qui ne s’exécute pas


Sujet :

Scripts/Batch

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par InitSreen Voir le message
    Pour t'aidé voilà un vieux que j'ai fait mais qui marche

    Code bat : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    @echo off
     
     
     
    REM Auteur Original: Juillard Jean-Baptiste
     
    REM Ce fichier est publier en Open Source, il peut êtres copier, modifier ou redistribuer
    REM qu'à la condition que l'auteur original, les auteurs de modifications ainsi que la
    REM présente déclaration de licence soit toujours explicitement citer.
     
     
    ::Configuration des parametres FTP
    set "UpAndDown=%1"
    set "WorkingFile=%2"
    set "MountPoint=%3"
    ::Configuration des parametres de l'utilisateur
    set "UserName=%4"
    set "UserPassword=%5"
    set "ServerURL=%6"
     
    set "FTPScriptPath=%TMP%\%UserName%FTPScript.txt"
     
    ::Creation du script FTP
    call :WrhiteFTPScript
    ::Transaction avec le serveur et initialisation du code d'erreur
    1>nul ftp -v -s:"%FTPScriptPath%" %ServerURL%
    set "ExitCode=%ErrorLevel%"
    ::Suppression du script FTP
    del /Q "%FTPScriptPath%"
    goto End
     
    :WrhiteFTPScript
    if exist "%FTPScriptPath%" del /d "%FTPScriptPath%"
    echo %UserName%>%FTPScriptPath%
    echo %UserPassword%>>%FTPScriptPath%
    echo ascii>>%FTPScriptPath%
    echo cd %MountPoint% >>%FTPScriptPath%
    if "%UpAndDown%"=="0" (
    	echo get %WorkingFile%>>%FTPScriptPath%
    	echo !if exist %WorkingFile% ^& exit /b ^& delete %WorkingFile%
    )
    if "%UpAndDown%"=="1" echo put %WorkingFile%>>%FTPScriptPath%
    echo bye>>%FTPScriptPath%
    goto :eof
     
    :End
    exit /b %ExitCode%

    Merci pour le code. mais je vois pas trop comment m'en servir...

    Ce code est le .bat? Que met on dans le .txt? (j'imagine qu'il est nommé FTPScript.txt)

  2. #22
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Points : 738
    Points
    738
    Billets dans le blog
    2
    Par défaut
    Je te l'ai refait, il faut que tu utilise la commande suivante pour le download:

    <scriptname> /dir="camping" /get="toto.txt" /user="sinutech" /pwd="<password>" /url=ftp.***.ovh.net

    il faut que tu utilise la commande suivante pour l'upload:

    <scriptname> /dir="camping" /put="%cd%\toto.txt" /user="sinutech" /pwd="<password>" /url=ftp.***.ovh.net

    Code bat : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    @echo off
    setlocal
     
    set /a "ExitCode=0"
    set /a "UpAndDown=-1"
    set "MountPoint="
    set "LoadMode=binary"
     
    :ParseArgs
    if "%~1"=="" goto Init
    if /i "%~1"=="/get" (
      set /a "UpAndDown=0"
      set "WorkingFile=%~2"
      if "%~x2"==".txt" set "LoadMode=ascii"
      shift /1
      shift /1
      goto ParseArgs
    )
    if /i "%~1"=="/put" (
      set /a "UpAndDown=1"
      set "WorkingFile=%~2"
      if "%~x2"==".txt" set "LoadMode=ascii"
      shift /1
      shift /1
      goto ParseArgs
    )
    if /i "%~1"=="/dir" (
      set "MountPoint=%~2"
      shift /1
      shift /1
      goto ParseArgs
    )
    if /i "%~1"=="/user" (
      set "User=%~2"
      shift /1
      shift /1
      goto ParseArgs
    )
    if /i "%~1"=="/pwd" (
      set "Password=%~2"
      shift /1
      shift /1
      goto ParseArgs
    )
    if /i "%~1"=="/url" (
      set "ServerURL=%~2"
      shift /1
      shift /1
      goto ParseArgs
    )
    :BadSyntax
    echo %~1 %~2
    for /f "delims=" %%a in ('net helpmsg 87') do (
      >&2 echo [ %~1 ] %%a
    )
    if not "%~0"==":BadSyntax" endlocal
    exit /b 87
     
     
    :Init
    if not defined WorkingFile goto UnknownError
    if not exist "%WorkingFile%" goto UnknownError
    if not defined User goto UnknownError
    if not defined Password goto UnknownError
    if not defined ServerURL goto UnknownError
    set "FTPScriptPath=%Date:/=%%Time::=%"
    set "FTPScriptPath=%FTPScriptPath:,=%"
    if %UpAndDown% neq -1 goto Exec
    :UnknownError
    if %UpAndDown% equ -1 (
      call :BadSyntax "/get /put"
    ) else if not defined WorkingFile (
      call :BadSyntax "/dir"
    ) else if not exist "%WorkingFile%" (
      call :BadSyntax "%WorkingFile%"
    ) else if not defined User (
      call :BadSyntax "/user"
    ) else if not defined Password (
      call :BadSyntax "/pwd"
    ) else if not defined ServerURL (
      call :BadSyntax "/url"
    )
    echo.
    endlocal
    exit /b 87
     
     
    :Exec
    ::Creation du script FTP
    call :WrhiteFTPScript 1>>%FTPScriptPath%
    ::Transaction avec le serveur et initialisation du code d'erreur
    ftp -v -s:"%FTPScriptPath%" %ServerURL%
    set /a "ExitCode=%ErrorLevel%"
    ::Suppression du script FTP
    del /Q "%FTPScriptPath%"
    goto End
     
    :WrhiteFTPScript
    echo %User%
    echo %Password%
    echo %LoadMode%
    if defined MountPoint echo cd %MountPoint%
    if "%UpAndDown%"=="0" (
    	echo get %WorkingFile%
    ) else (
      echo put %WorkingFile%
    )
    echo bye
    goto :eof
     
    :End
    if not "%~0"==":Help" endlocal
    exit /b 0
    Le gourou dicte la ligne (de commande) à suivre ...

    Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
    ainsi que le Cour sur la ligne de commande et des scripts

  3. #23
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Points : 738
    Points
    738
    Billets dans le blog
    2
    Par défaut
    Et tu n'a pas besoin d'un script ftp le batch le crée tout seul
    Le gourou dicte la ligne (de commande) à suivre ...

    Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
    ainsi que le Cour sur la ligne de commande et des scripts

  4. #24
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 86
    Points : 41
    Points
    41
    Par défaut
    Merci pour la réponse. Mais j'ai commande incorrect qui s'affiche dans le boîte de dialogue...

    Script.bat:


    Code bat : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    @echo off
    setlocal
     
    set /a "ExitCode=0"
    set /a "UpAndDown=-1"
    set "MountPoint="
    set "LoadMode=binary"
     
    :ParseArgs
    if "%~1"=="" goto Init
    if /i "%~1"=="/get" (
      set /a "UpAndDown=0"
      set "WorkingFile=%~2"
      if "%~x2"==".txt" set "LoadMode=ascii"
      shift /1
      shift /1
      goto ParseArgs
    )
    if /i "%~1"=="/put" (
      set /a "UpAndDown=1"
      set "WorkingFile=%~2"
      if "%~x2"==".txt" set "LoadMode=ascii"
      shift /1
      shift /1
      goto ParseArgs
    )
    if /i "%~1"=="/dir" (
      set "MountPoint=%~2"
      shift /1
      shift /1
      goto ParseArgs
    )
    if /i "%~1"=="/user" (
      set "User=%~2"
      shift /1
      shift /1
      goto ParseArgs
    )
    if /i "%~1"=="/pwd" (
      set "Password=%~2"
      shift /1
      shift /1
      goto ParseArgs
    )
    if /i "%~1"=="/url" (
      set "ServerURL=%~2"
      shift /1
      shift /1
      goto ParseArgs
    )
    :BadSyntax
    echo %~1 %~2
    for /f "delims=" %%a in ('net helpmsg 87') do (
      >&2 echo [ %~1 ] %%a
    )
    if not "%~0"==":BadSyntax" endlocal
    exit /b 87
     
     
    :Init
    if not defined WorkingFile goto UnknownError
    if not exist "%WorkingFile%" goto UnknownError
    if not defined User goto UnknownError
    if not defined Password goto UnknownError
    if not defined ServerURL goto UnknownError
    set "FTPScriptPath=%Date:/=%%Time::=%"
    set "FTPScriptPath=%FTPScriptPath:,=%"
    if %UpAndDown% neq -1 goto Exec
    :UnknownError
    if %UpAndDown% equ -1 (
      call :BadSyntax "/get /put"
    ) else if not defined WorkingFile (
      call :BadSyntax "/dir"
    ) else if not exist "%WorkingFile%" (
      call :BadSyntax "%WorkingFile%"
    ) else if not defined User (
      call :BadSyntax "/user"
    ) else if not defined Password (
      call :BadSyntax "/pwd"
    ) else if not defined ServerURL (
      call :BadSyntax "/url"
    )
    echo.
    endlocal
    exit /b 87
     
     
    :Exec
    ::Creation du script FTP
    call :WrhiteFTPScript 1>>%FTPScriptPath%
    ::Transaction avec le serveur et initialisation du code d'erreur
    ftp -v -s:"%FTPScriptPath%" %ServerURL%
    set /a "ExitCode=%ErrorLevel%"
    ::Suppression du script FTP
    del /Q "%FTPScriptPath%"
    goto End
     
    :WrhiteFTPScript
    echo %User%
    echo %Password%
    echo %LoadMode%
    if defined MountPoint echo cd %MountPoint%
    if "%UpAndDown%"=="0" (
    	echo get %WorkingFile%
    ) else (
      echo put %WorkingFile%
    )
    echo test
    pause

    scriptname.txt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /dir="camping" /put="C:\Users\m.bignard\Desktop\etude de script\Script 4\toto.txt" /user="**" /pwd="<**>" /url=ftp.**.ovh.net

    Voilà ce que j'ai en pur et dur.

  5. #25
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Points : 738
    Points
    738
    Billets dans le blog
    2
    Par défaut
    En fait c'est le script batch qu'il faut appeler avec la commande que je t'ai donné. Le script va créer le script FTP tout seul pas besoin de lui fournir.

    et dans la commande <scriptname> est le nom que tu donne au script batch, par exemple script.bat
    Le gourou dicte la ligne (de commande) à suivre ...

    Penser à lire le Tutoriel Batch ou a consulter la FAQ Batch et ses contributions,
    ainsi que le Cour sur la ligne de commande et des scripts

Discussions similaires

  1. Script de copie de fichier sur un ftp
    Par micou dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 09/10/2009, 11h56
  2. IdFTP : Récupération d'un fichier sur ftp ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/11/2005, 13h15
  3. Copy de fichier sur réseau avec mot de passe
    Par Guile dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 07/10/2005, 15h45
  4. Copie de fichier sur le bureau
    Par LoicH dans le forum C++Builder
    Réponses: 3
    Dernier message: 01/05/2005, 20h57
  5. [C#] [FTP] Envoi et suppression fichier sur ftp NON ANONYME!
    Par djsbens dans le forum Windows Forms
    Réponses: 14
    Dernier message: 30/03/2005, 10h20

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