Script Dos help !!!

Script Dos help !!! - Programmation

Marsh Posté le 29-08-2001 à 14:57:20    

Voila....
 
Je cherche a "fabriqué" un script qui me permette d'aller chercher sur un serveur FTP une mise a jour. Mon pb c'est que ce serveur FTP depend de l'@IP de la machine pour que ce soit le serveur FTP de ce reseau qui reponde. Ex : machine X 192.168.1.104 255.255.255.0 va se connecter sur un serveur FTP Y 192.168.1.1 255.255.255.0 et cela pour differents reseaux ! Connaissez un moyen en DOS si possible pour recuperer l'@IP de la machine X et en deduire le serveur FTP Y.
 
Merci ... pour ceux qui peuvent m'aider...

Reply

Marsh Posté le 29-08-2001 à 14:57:20   

Reply

Marsh Posté le 29-08-2001 à 15:06:03    

Mon principal soucis est de pouvoir recuperer l'@ip de la machine et de l'integrer dans une variable pour en faire ce que je veux. Je connais ipconfig mais comment recuperer l'adresse IP. Merci pour vos infos...

Reply

Marsh Posté le 29-08-2001 à 15:21:56    

si j'ai bien compris tu as des réseaux de style :
192.168.1.xxx
192.168.2.xxx
etc
 
dans ce cas avec un simple pipe tu pourras rediriger ton bat :
 
ipconfig|find "192.168.1" >nul
if not errorlevel 1 goto reseau1
ipconfig|find "192.168.2" >nul
if not errorlevel 1 goto reseau2
etc...
rem Si pas trouvé
echo Adresse IP Non valide
Pause
goto fin
 
:reseau1
.... ton traitement pour le réseau 192.168.1.xxx
goto fin
 
:reseau2
.... ton traitement pour le réseau 192.168.2.xxx
goto fin
 
etc...
 
comment ça marche ?
| redirige la sortie de la commande ipconfig vers find
si find trouve la chaîne entre " ", il affiche normalement la ligne, mais dans ce cas la sortie est redirigée sur le périphérique nul (pour ne pas avoir d'affichage) et met la valeur errorlevel à 0
si find ne trouve pas, errorlevel est à 1
 
A+

Reply

Marsh Posté le 29-08-2001 à 15:49:34    

Merci beaucoup pour les infos et puis pour l'aide car tu as expliqué. Merci
 
J'abuse peut etre un peu ... mais le developpement c'est pas mon truc. En tout cas ce que tu m'as donné ca marche nickel !!!!
 
Si tu prends le cas du traitement 1
 
:reseau1  
.... ton traitement pour le réseau 192.168.1.xxx  
goto fin  
 
 
ce que je veux faire apres c'est de modifier un fichier txt dont une chaine de caractere doit etre modifiée en fonction du resultat de l'ipconfig. Si @ip de la machine = 192.168.1.X alors mettre dans le fichier txt l'@IP du serveur FTP 192.168.1.1
 
voici mon fichier txt :
 
open (@IP du serveur déduit par l'ipconfig)
.......
hash
mget *.VDB
bye

Reply

Marsh Posté le 29-08-2001 à 16:27:49    

Une solution :
Tu as un fichier source.txt contenant la fin de ton fichier .txt (à partir de la 2° ligne)
 
:reseau1  
echo (@192.168.1.1)>fichier.txt
copy /A fichier.txt+source.txt fichier.txt
la fin de ton traitement avec fichier.txt
goto fin  
 
 
echo (@... te crée fichier.txt contenant la première ligne
copy /A ... concatène les deux fichiers dans fichier.txt
 
Comme tu es en réseau tu peux avoir le fichier source sur un serveur ce qui donnera :
copy /A fichier.txt+\\SERVEUR\REP_Partagé\source.txt fichier.txt
 
Ne pas oublier :
:fin
del fichier.txt
 
le nom de fichier.txt est peut-être à éviter...
 
A+

Reply

Marsh Posté le 29-08-2001 à 16:44:39    

Merci beaucoup !!!!
 
Je fais des tests sur differents reseaux et ca marche !!!
 
un p'tit detail ;o)
 
apparemment la commande  
echo (@192.168.1.1)>fichier.txt  
 
ne passe pas j'ai mis  
echo 192.168.1.1>fichier.txt
 
+ qques details mais merci beaucoup !!!!!!!
 
A+

Reply

Marsh Posté le 29-08-2001 à 16:57:17    

Sur mon Win 2000, celà marche !!!
j'ai fait une erreur, c'était
echo open (@192.168.1.1)>fichier.txt
 
A+

Reply

Marsh Posté le 29-08-2001 à 18:37:35    

si c'est le caractère @ qui ne passe pas (je ne vois pas pourquoi...), tu peux faire ainsi :
créer un fichier source1.txt contenant echo open (@ sans retour charriot en tpant les 2 lignes suivantes dans une boite DOS :
COPY CON SOURCE1.TXT
echo open (@ <Ctrl-Z>
 
Ne pas oublier l'espace après @, tu termines la commande en tapant CTRL Z.
tu auras ensuite dans ton batch :
copy source1.txt fichier.txt   remarque : moi je mettrai source1.txt sur le serveur
echo 192.168.1.1>>fichier.txt
le reste inchangé
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed