Script windows, help please - Divers - Programmation
Marsh Posté le 07-04-2016 à 14:25:56
Et si tu lisais déjà la doc?
Pour une commande abc tu tappes abc /? en ligne de commande. Tu peux aussi rediriger le résultat dans un fichier avec abc /? >fichier .
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
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.
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---- |
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+,
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,
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+,
Marsh Posté le 08-04-2016 à 11:54:53
Ca c'est clair net et precis
Ok je vais essayer merci beaucoup.
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