Script windows, help please

Script windows, help please - Divers - Programmation

Marsh Posté le 07-04-2016 à 11:55:59    

Bonjour, quelqu'un peut-il m'expliquer ligne par ligne ou bloc par bloc ce que fais EXACTEMENT ce script svp ? J'ai des notions de programmation Java mais qui remonte à 10 ans. Merci d'avance.
 
@echo off
 
rem ----Mount a network drive----
net use Y: \\intranet\dfs-emea\group\par\common /u:INTRANET\sysPARTELSAT guess.apart
 
rem ----Source Directory----
cd "Y:\telsat v6.0"
 
rem ----Number of unique accounts count----
set /a compt=-1
for /f "delims=" %%i in ('type "Y:\telsat v6.0\TELSAT.txt"') do set /a compt+=1
 
rem ----Copy and rename source file on the SendToFTP folder----
copy "Y:\telsat v6.0\TELSAT.txt" "Y:\telsat v6.0\SendToFTP"
set nameFile=TELSAT_%date:~6,4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%%time:~6,2%_%compt%.txt
rename "Y:\telsat v6.0\SendToFTP\TELSAT.txt" "%nameFile%"
 
rem ----Creation of the connexion file to FTP----
echo sysaimftpafp>> "Y:\telsat v6.0\ftp.txt"
echo food.prove>> "Y:\telsat v6.0\ftp.txt"
echo cd "Data Feeds">> "Y:\telsat v6.0\ftp.txt"
echo put "Y:\telsat v6.0\SendToFTP\%nameFile%">> "Y:\telsat v6.0\ftp.txt"
echo quit>> "Y:\telsat v6.0\ftp.txt"
 
rem ----FTP connexion and send file----
ftp -s:"Y:\telsat v6.0\ftp.txt" FTPNYK001
 
rem --del "Y:\telsat v6.0\ftp.txt"
 
rem ----Unmount a network drive----
net use Y: /delete /YES
 

Reply

Marsh Posté le 07-04-2016 à 11:55:59   

Reply

Marsh Posté le 07-04-2016 à 14:25:56    

Et si tu lisais déjà la doc? :o  
 
Pour une commande abc tu tappes abc /? en ligne de commande. Tu peux aussi rediriger le résultat dans un fichier avec abc /? >fichier  .

Reply

Marsh Posté le 07-04-2016 à 16:07:06    

Merci de ta réponse, de ton effort et ta reactivité.
 
Je sais que je suis pas un ancien ou un regulier du forum principalement dû à mon manque de temps, je sais aussi que je n'ai pas bcp de message à mon actif mais il m'a semblé judicieux de demander de l'aide car après tout c'est fait pour ça :
 
Je sais pas de quelle doc tu me parles, desolé.
 
Je suis dans la maintenance informatique et mon chef m'a delegué une tâche hors de mes compétences; c'est comme ça qu'on avance/progresse je présume.  
Je n'ai que des notions de programmation comme précisé alors je demande pas a optimiser le code mais juste comprendre en detail, rien de plus.  
 
Je te remercie d'avance à toi et les eventuels autres :)

Reply

Marsh Posté le 07-04-2016 à 21:56:58    

Citation :

Je sais pas de quelle doc tu me parles, desolé.


Quand tu tappes p.ex. for /? en ligne de commande tu as une doc qui s'affiche. ;)

Reply

Marsh Posté le 08-04-2016 à 01:20:37    

Je seul truc pas clair de ton batch c'est ceci:

Citation :

rem ----Creation of the connexion file to FTP----
echo sysaimftpafp>> "Y:\telsat v6.0\ftp.txt"
echo food.prove>> "Y:\telsat v6.0\ftp.txt"
echo cd "Data Feeds">> "Y:\telsat v6.0\ftp.txt"
echo put "Y:\telsat v6.0\SendToFTP\%nameFile%">> "Y:\telsat v6.0\ftp.txt"
echo quit>> "Y:\telsat v6.0\ftp.txt"


Ca écrit un script de commandes pour une connexion ftp future.
Ce script va être écrit dans le fichier Y:\telsat v6.0\ftp.txt
Et être exécuté ici:
ftp -s:"Y:\telsat v6.0\ftp.txt" FTPNYK001  
Tu vas te connecter par ftp sur l'ordinateur identifié par FTPNYK001  
avec l'identifiant sysaimftpafp (1e ligne du script Y:\telsat v6.0\ftp.txt) et mot de passe food.prove (2e ligne du script)
tu vas aller dans le répertoire Data Feeds de la machine distante et
y copier le fichier Y:\telsat v6.0\SendToFTP\%nameFile%  (ou %nameFile% est un nom complexe qui a été calculé auparavant pour nommer significativement ce fichier)
et stopper la connexion ftp après la copie du fichier.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 08-04-2016 à 10:58:14    

Merci beaucoup à vous.
 
Je comprend un peu mieux ...
mais pourquoi le trc est pas clair dans le batch ?  
 
En fait, le serveur est censé envoyé un fichier (texte tout simple) via ftp tous les deux mois à une machine distance mais cette operation ne se fait plus depuis quelques mois et on voudrait savoir pourquoi.  
 
Une idée d'où ça pourrait bloquer ?
 
Cdt,

Reply

Marsh Posté le 08-04-2016 à 11:27:32    

Déjà je lancerais une version partielle du batch, jusqu'à  
rem ----Creation of the connexion file to FTP----
Soit ton fichier Y:\telsat v6.0\SendToFTP\%nameFile% est bien créé, soit ça a bloqué avant, et à toi de voir ou ça coince
S'il est bien créé, tu peux alors émuler la session ftp en console en faisant:
ftp FTPNYK001  
Si la machine répond, elle va le faire avec un prompt user auquel tu réponds par sysaimftpafp puis elle va te demander le passwd, auquel tu réponds par food.prove
Si à ce stade la tu es loggué, tu tapes cd "Data Feeds" puis put "Y:\telsat v6.0\SendToFTP\%nameFile%"  (ou tu auras remplacé %nameFile% par la bonne valeur) et quand la copie a été effectuée (si c'est un petit fichier, ça devrait être instantané), tu tapes quit pour sortir de la session ftp.
Si ça coince pas au cours de la session, j'aurais pas trop d'idée, sinon, les messages d'erreur en cours de session devraient t'éclairer.
 
A+,


Message édité par gilou le 08-04-2016 à 11:29:30

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 08-04-2016 à 11:54:53    

Ca c'est clair net et precis
Ok je vais essayer merci beaucoup.


Message édité par Aroun75 le 08-04-2016 à 11:55:18
Reply

Sujets relatifs:

Leave a Replay

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