Page 1 sur 1

[Résolu] lire le resultat d'un batch

Posté : 05 févr. 2008 16:47
par nabli
Bonjours
je developpe une application en vb qui fait la conversion d'un fichier vers un format spécifique pour une machine
Alors pour réaliser l'envoie en mode dos ftp ,j'ai réalisé un script "fichier.bat"
mon probleme et que je veux transmettre le resultat dans un fichier text ,pour que je puisse le lire et traiter le resultat

merci

Re: lire le resultat d'un batch

Posté : 05 févr. 2008 17:42
par Sylvain
Tu rajoutes l'opérateur ">nom_du_fichier.log" pour créer un fichier log,

">>" si tu veux continuer ton fichier log lors d'autres commandes.

Re: lire le resultat d'un batch

Posté : 05 févr. 2008 19:55
par nabli
salut
merci pour l'aide c'est bien marché
j'ai une autre question
comment je peux faire un batch faisant appel de l'invite dos à ftp.exe et faire une connexion avec un hote et l'envoie d'un fichier ?
exemple open 192.168.0.1
put fichier.txt

j'ai essayer mais la fenetre dos se bloque à "ftp>"
merci

Re: lire le resultat d'un batch

Posté : 05 févr. 2008 21:57
par flox
Salut Nabli,
Pour la connexion en .bat sur un FTP voila la marche à suivre:

1- crée un fichier c:\temp.txt contenant:

Code : Tout sélectionner

login
password
cd repertoire
put c:\temp.txt
quit
2- crée un fichier c:\test.bat contenant:

Code : Tout sélectionner

ftp -s:c:\temp.txt 192.168.0.1
pause
3- Execute ton script

Voila normalement ça devrait marcher, si tu veut plus d'info sur les commandes ftp regarde sur la page FTP

@+

Re: lire le resultat d'un batch

Posté : 06 févr. 2008 19:25
par med
Salut flox.
j'ai appliquer les instructions que j'ai recu ,ils sont fonctionnels
mais le script fonctionne seulement si le fichier texte et dans c:\ ou d:\ ...
alors s'il est dans ex:d:\dossier\fichier.txt le script ne marche pas
comment resoudre cette etape?
merci

Re: lire le resultat d'un batch

Posté : 06 févr. 2008 20:24
par flox
Salut Med,
je vient d'essayer dans répertoire autre que la racine du disque:

c:\temp\temp.txt

Code : Tout sélectionner

login
password
cd repertoire
put c:\temp\temp.txt
quit
c:\temp\test.bat

Code : Tout sélectionner

ftp -s:c:\temp\temp.txt 192.168.0.1
pause
Ca à l'air de fonctionner également:

Code : Tout sélectionner

Connecté à 192.168.0.1.
220 Flox FTP Server
Utilisateur (192.168.0.1:(none)) :
331 Password required for utilisateur
 
230 Logged on
ftp> cd download
250 CWD successful. "/repertoire" is current directory.
ftp> put C:\temp\temp.txt
200 Port command successful
150 Opening data channel for file transfer.
226 Transfer OK
ftp : 54 octets envoyés en 0,16 secondes à 0,33 Ko/s.
ftp> quit
221 Goodbye
Vérifie éventuellement tes chemins, ou post le contenu de tes fichiers.

@+

Re: lire le resultat d'un batch

Posté : 08 févr. 2008 16:55
par nabli
salut flox
c'est vrais le batch fonctionne en le mettant dans des sous dossier
mais le probleme que si le le nom de dossier contient un espace ce ne marche pas
par ex: ftp.exe -s:c:\dossier de travail\ftp.txt > ftp.log
l'invite lit "c:\dossier" seulement et ne lit pas le reste
comment je peut faire eccepter les espaces

Re: lire le resultat d'un batch

Posté : 29 févr. 2008 13:22
par flox
Salut nabli,
effectivement ms-dos à du mal avec les noms de dossier long ( + 8 caractères) ou comportant des espaces. (voir FAQ)

Solution 1:

Mettre des guillemets

Code : Tout sélectionner

cd \
cd "Program Files"

Solution 2:

Couper le nom en gardant 6 lettres et en ajoutant ~1

Code : Tout sélectionner

cd \
cd progra~1
Dans ton cas tu pourra mettre :

Code : Tout sélectionner

ftp.exe -s:c:\"dossier de travail"\ftp.txt > ftp.log
@+