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

Fermé
Ptitgrand Messages postés 13 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 22 juillet 2021 - 16 juin 2017 à 10:38
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 19 juin 2017 à 13:10
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
A voir également:

3 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 16 juin 2017 à 11:19
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.”
0
Ptitgrand Messages postés 13 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 22 juillet 2021
16 juin 2017 à 12:57
Oui effectivement je me suis rendu compte de mon erreur apres la publication de ma question :/
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > Ptitgrand Messages postés 13 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 22 juillet 2021
16 juin 2017 à 12:59
On peut passer en résolu alors ?

Est-ce que tu as d'autres questions ?
0
Ptitgrand Messages postés 13 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 22 juillet 2021
Modifié le 16 juin 2017 à 13:05
j'ai réexpliqué mon problème ci dessous !
0
Ptitgrand Messages postés 13 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 22 juillet 2021
16 juin 2017 à 13:04
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
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
16 juin 2017 à 13:14
Vraiment bizarre ton histoire de variable qui ne veut pas s'expanser, et si tu fais comme ça :
ftp put *.txt
0
Ptitgrand Messages postés 13 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 22 juillet 2021
16 juin 2017 à 13:17
La vrai question c'est y'a t'il une variable pour ftp qui désigne le nom du pc,
comme %computername% en batch.
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > Ptitgrand Messages postés 13 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 22 juillet 2021
16 juin 2017 à 13:23
non 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.
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024
16 juin 2017 à 13:25
Si tu rajoutes un
echo %COMPUTERNAME%
est-ce que la variable est remplacée ou pas ?
0
Ptitgrand Messages postés 13 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 22 juillet 2021
16 juin 2017 à 13:28
cette commande fonctionne effectivement en batch mais pas en ftp :/
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 16 juin 2017 à 13:44
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.”
0
Ptitgrand Messages postés 13 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 22 juillet 2021
19 juin 2017 à 13:06
j'ai testé et le script ne fonctionne pas pour moi :/
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > Ptitgrand Messages postés 13 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 22 juillet 2021
19 juin 2017 à 13:10
Est-ce que tu peux poster le script que tu as essayé ?
0