%COMPUTERNAME% dans un script FTP lancé par un batch

Bonjour,

J'ai créer un ficher .txt en tant que script

(https://forums.commentcamarche.net/forum/affich-12108061-telecharger-un-fichier-d-un-ftp-avec-un-batch

Pour pouvoir faire des transfert automatique alors :

ftp open (serveur)
ftp (name)
ftp (mdp)

Arriver à la je voulais faire en sorte de récupérer un fichier ayant le nom du pc dans le quel le script était lancé (ex : dans cmd la commande:%computername%)

mais quand je met la commande

ftp put %computername%.txt

la commande cherche %computername%.txt a la place du nom de la machine.txt directement..

j'aimerais que quelqu'un m'aide svp

Cordialement, Merci

3 réponses

  1. Bonjour,

    Qu'est-ce qui te fait penser que la variable d'environnement n'est pas remplacée par sa valeur ?

    Tu dis que tu cherches à récupérer un fichier, mais la commande que tu indiques (PUT) fais le contraire, elle envoie un fichier.


    “L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
    1. Oui effectivement je me suis rendu compte de mon erreur apres la publication de ma question :/
    2. @PtitgrandOn peut passer en résolu alors ?

      Est-ce que tu as d'autres questions ?
    3. j'ai réexpliqué mon problème ci dessous !
  2. j'explique plus précisément j'ai crée un batch qui fait la commande suivante :

    wmic csproduct > %computername%.txt
    wmic quit

    Ce qui va permettre de crée un document texte avec les informations que je cherchée sur le pc automatiquement.

    Maintenant j'aimerais que ce fichier soit automatiquement transfert vers mon serveur ftp pour optimiser le temps

    mais quand je fait la commande

    ftp put %computername%.txt

    la commande cherche %computername%.txt a la place du nom de la machine.txt
    1. Vraiment bizarre ton histoire de variable qui ne veut pas s'expanser, et si tu fais comme ça :
      ftp put *.txt
    2. La vrai question c'est y'a t'il une variable pour ftp qui désigne le nom du pc,
      comme %computername% en batch.
    3. @Ptitgrandnon il n'y a pas de variable spécifique à la commande ftp, les variables d'environnement sont tout à fait utilisables comme dans un script classique.
    4. @barnabe0057Si tu rajoutes un
      echo %COMPUTERNAME%
      est-ce que la variable est remplacée ou pas ?
    5. cette commande fonctionne effectivement en batch mais pas en ftp :/
  3. J'ai trouvé une solution sur un autre site :

    ;@echo off
    ;(for /f "usebackq delims=" %%A in ("%~f0") do call echo.%%A)>"%temp%\%~n0.ftp"
    ;ftp -i -s:"%temp%\%~n0.ftp"
    ;GOTO:EOF

    open example.com
    username
    password

    !:--- FTP commands below here ---
    cd public_html/%COMPUTERNAME%
    binary
    hash on
    %*
    disconnect
    bye

    Voilà l'adresse du site :
    https://www.dostips.com/DtTipsFtpBatchScript.php#Batch.FtpBatchUsingVariables


    “L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
    1. j'ai testé et le script ne fonctionne pas pour moi :/
    2. @PtitgrandEst-ce que tu peux poster le script que tu as essayé ?