Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1936 connectés 

  FORUM HardWare.fr
  Programmation

  Script Dos help !!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script Dos help !!!

n°56085
jerph
Posté le 29-08-2001 à 14:57:20  profilanswer
 

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...

mood
Publicité
Posté le 29-08-2001 à 14:57:20  profilanswer
 

n°56088
jerph
Posté le 29-08-2001 à 15:06:03  profilanswer
 

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...

n°56090
JPA
Posté le 29-08-2001 à 15:21:56  profilanswer
 

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+

n°56093
jerph
Posté le 29-08-2001 à 15:49:34  profilanswer
 

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

n°56114
JPA
Posté le 29-08-2001 à 16:27:49  profilanswer
 

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+

n°56125
jerph
Posté le 29-08-2001 à 16:44:39  profilanswer
 

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+

n°56130
JPA
Posté le 29-08-2001 à 16:57:17  profilanswer
 

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

n°56156
JPA
Posté le 29-08-2001 à 18:37:35  profilanswer
 

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+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Script Dos help !!!

 

Sujets relatifs
MySQL help pour trouver l'erreur de cette putain de requete[HELP] je debut en java script et ...... ben ca marche pas !!!!
script *.cmdASP Help pb impression en mode paysage
Script d'envoie de SMs[Delphi] Récupperer l'affichage d'un programe DOS
Script mIRC....[Batch] Script de détection de la version de l'OS
Help help besoin d’aide pour forum 
Plus de sujets relatifs à : Script Dos help !!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR