Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
transfert ftp
Auteur Message
Répondre en citant
Message transfert ftp 
Bonjour à tous,
je suis tt nouveau ici,

je ne sais pas comment m'y prendre pour finaliser mon batch,

j'ai mis en place un batch qui se connecte en ftp à une machine distante et envoie un fichier,
ce batch est déployé sur plusieurs pc de nos clients,
certains de nos clients on un firewall bloquant, ce qui parfois bloque mon script et laisse ce script interminé et en attente

j'aimerai un bout de code permettant de killer ce bat au bout de 2 mn par exemple


contenu de mes fichiers =>

connexion.bat
Code:
ftp -n -s:parametres.txt



parametres.txt
Code:
open (l'IP distante)
user (login du serveur ftp)
(mdp du serveur ftp)
prompt
lcd c:\(emplacement du fichier à envoyer)
mput fichier.txt
quit


merci de votre aide




EDIT LOGAN: Balises [CODE]



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message transfert ftp 
Salut,

Pour les transferts FTP, j'utilise ncftpput qui fait partie d'une "suite" ncFTP disponible à cette adresse : http://www.ncftp.com

L'avantage de cet utilitaire et qu'il permet d'être en mode passif et ainsi passer à travers les firewalls.

Dans les options de ncftpput, tu peux définir un timeout en seconde.


NcFTPPut 3.2.3

Usages:
ncftpput [flags] remote-host remote-dir local-files... (mode 1)
ncftpput -f login.cfg [flags] remote-dir local-files... (mode 2)
ncftpput -c remote-host remote-path-name < stdin (mode 3)
ncftpput -C remote-host local-path-name remote-path-name (mode 4)

Flags:
-u XX Use username XX instead of anonymous.
-p XX Use password XX with the username.
-P XX Use port number XX instead of the default FTP service port (21).
-j XX Use account XX with the account (deprecated).
-d XX Use the file XX for debug logging.
-e XX Use the file XX for error logging.
-U XX Use value XX for the umask.
-t XX Timeout after XX seconds.
-a Use ASCII transfer type instead of binary.
-m Attempt to mkdir the dstdir before copying.
-v/-V Do (do not) use progress meters.
-f XX Read the file XX for host, user, and password information.
-h XX Connect to host XX. Useful for overriding host in -f config.file.
-c Read locally from stdin and write remotely to specified pathname.
-C Similar to -c, except a local pathname is specified.
-A Append to remote files instead of overwriting them.
-z/-Z Do (do not) try to resume uploads (default: -Z).
-T XX Upload into temporary files prefixed by XX.
-S XX Upload into temporary files suffixed by XX.
-DD Delete local file after successfully uploading it.
-b Run in background (submit job to "ncftpbatch" and run).
-bb Same as "-b" but queue only (do not run "ncftpbatch").
-E Use regular (PORT) data connections.
-F Use passive (PASV) data connections (default).
-I XX Use IP address XX for local source address.
-y Try using "SITE UTIME" to preserve timestamps on remote host.
-B XX Try setting the SO_SNDBUF size to XX.
-r XX Redial XX times until connected.
-o XX Specify miscellaneous options (see documentation).
-W XX Send raw FTP command XX after logging in.
-X XX Send raw FTP command XX after each file transferred.
-Y XX Send raw FTP command XX before logging out.
-R Recursive mode; copy whole directory trees.

Examples:
ncftpput -u gleason -p my.password Elwood.probe.net /home/gleason stuff.txt
ncftpput -u gleason Elwood.probe.net /home/gleason a.txt (prompt for pass)
ncftpput -a -u gleason -p my.password -m -U 007 Bozo.probe.net /tmp/tmpdir a.txt
tar cvf - /home | ncftpput -u operator -c Server.probe.net /backups/monday.tar

Library version: LibNcFTP 3.2.3 (July 23, 2009).

This is a freeware program by Mike Gleason (http://www.ncftp.com).
This was built using LibNcFTP (http://www.ncftp.com/libncftp/).


En espérant que ça puisse t'aider à résoudre ton problème ;-)

XaV



Répondre en citant
Message transfert ftp 
désolé depuis le temps, un peu trop chargé au bureau...
j'ai regardé ta solution, et sincèrement je m'y perd
un timeout version batch m'aurais bien suffit...



Répondre en citant
Message transfert ftp 
Cest le parefeu windows ?
si tu ajouter ton batch dans les exceptions en passant par la registre ?


Exemple ; netsh firewall /?

Code:
netsh firewall add allowedprogram "C:\\Program Files\\UltraVNC\\winvnc.exe" winvnc.exe >nul





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message transfert ftp 
Tu peux utiliser ncftpput de cette façon :

Code:

ncftpput -u <Login> -P 21 -t 10 <IpServeurFTP> <DossierDistantSurLeServeurFTP> <FichierLocalAvecCheminComplet>


et en retour de commande, tu auras quelque chose comme ça :

Citation:

c:\example.log: 107.79 kB 6.58 MB/s


Tu peux même mettre le caractère * dans <FichierLocalAvecCheminComplet> pour uploader plusieurs fichiers d'un seul coup.
Par exemple c:\fichier*.log qui correspond à c:\fichier1.log et fichier2.log

XaV



Répondre en citant
Message transfert ftp 
merci de vos astuces,
à l'origine, mes scripts fonctionnent très,
mais dans l'éventualité où mon script bloque, pour x raisons (modif réseau du client, server ftp pas lancé, etc...) j'ai besoins d'une astuce pour forcer l'arrêt et la fermeture de mon batch par exemple 30 secondes après qu'il soit lancé
ainsi, j'évite tout pb.



Répondre en citant
Message transfert ftp 
Salut,

En fait il faudrait récupérer le PID de ton batch en début de script
et ensuite générer un deuxième batch qui killerait ce process après x minutes.

Pour récuperer le PID de ton cmd en cours d' éxecution :

Code:

:::Par SachaDee
:::Connaître PID CMD en cours
:::www.batch.xoo.it.com
:::www.bbat.forumeiros.com
:::www.dbatchscript.forumeiros.com

@echo off
title=Montitre
for /f "tokens=2 delims=," %%a in ('tasklist /v /fo csv ^| findstr /i "Montitre"') do (set $PID_ID=%%a&echo LE PID DE CE PROCESSUS EST : %$PID_ID:~1,-1%)



ensuite tu génére un batch qui fait un taskkill du PID récupérer après 2 minutes (Timeout 120) que tu envoie avec un START

Voilà

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message transfert ftp 
salut,
merci pour ta réponse, je pense que c'est la solution,
cependant, ce bout de code ne m'affiche que :
" LE PID DE CE PROCESSUS EST / ~~1,-1 "

aurais tu une idée ?



Répondre en citant
Message transfert ftp 
Essaye comme ça :

Code:
@echo off
title=Montitre
for /f "tokens=2 delims=," %%a in ('tasklist /v /fo csv ^| findstr /i "Montitre"') do (set $PID_ID=%%a)
echo LE PID DE CE PROCESSUS EST : %$PID_ID:~1,-1%



Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message transfert ftp 
bon,
ça marche super bien !! un grand merci Very Happy Very Happy
mais ! Embarassed
je comprend quasiment rien à ce script
du coup, je ne sais pas comment récupérer l'ID dans une variable afin de la passer au second script...
Neutral



Répondre en citant
Message transfert ftp 
Pour simplifier :


Code:
@echo off
title=Montitre
for /f "tokens=2 delims=," %%a in ('tasklist /v /fo csv ^| findstr /i "Montitre"') do (set $PID_ID=%%a)
set $PID_ID=%$PID_ID:~1,-1%
echo LE PID DE CE PROCESSUS EST : %$PID_ID%


et tu peux récupérer la variable %$PID_ID% pour ton 2eme script

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message transfert ftp 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch