Aller au contenu

Script FTP


SwordMasteR

Messages recommandés

bonjour

je souhaiterais créer un script qui puisse être lancé sans outils additionnels.

tous les postes concernées sont sous windows vista.

je dois récupérer des fichiers sur une 20aine de machines UNIX qui autorise le ftp

mon problème est que les fichiers sont générés comme ceci:

NOM_DU_FICHIER.LOG_texte_qui_change

je ne sais donc pas comment je peux faire pour récupérer le dernier fichier crée!

peut être par la date de création?

merci de me venir en aide!

Lien vers le commentaire
Partager sur d’autres sites

avant de mettre ma solution j'ai un autre problème a soumettre!

je m'explique :

je récupère des check-list sur des serveurs, mais je n'ai uniquement une partie de ces check-lists qui m'intéresse, mais je ne parviens pas a copier qu'une partie des check-lists

actuellement je fait comme ceci:

-récupération de toutes les check-lists dans un dossier

-puis je fait un copy fichier1+fichier2+etc etc

les check-lists sont comme ceci

du blabla

encore

et

toujours

#############

pour les admins

############

blabla admin

encore blabla

ce que je souhaite c'est de ne conserver uniquement uniquement la première partie et exclure la partie pour les admins

que ce soit par un find ou un for, je suis perdu!!!

d'avance, merci encore!

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

bonjour

voila, je souhaite creer un batch qui me permet de recuperer des checklists sur differents serveurs, les mettre toutes les unes a la suite des autres, ajouter le nom du serveur en debut de checklits, et supprimer une partie de chaque checklist qui ne m'est pas utile

je parviens a tout faire sauf une partie, quand je recherche la ligne "fin de checklist" a supprimer, celle-ci, en fonction des serveurs est composée de 2,3 ou 4 decimales, en fonction des jours, et je ne parviens pas a faire en sorte que ca fonctionne

je vous mets ce que j'ai fait:

   net use m: /delete
   net use m: \\WSC0029\Documents\%username%\Documents
   set _m=M:\checklists\
   set _n=%_n%
   set MYFILES=\\m898900\exploit\Florian\
   md \\WSC0029\Documents\%username%\Documents\checklists
   ftp -n -s:%MYFILES%login-ftp.scr
   for /f "tokens=1,2,3 delims=/ " %%a in ('date /t') do set _n=%%a.%%b.%%c
   for /f "tokens=1,2 delims=: " %%a in ('time /t') do set _n=%_n%_%%ah%%bmin

   @echo off

   rem TRAITEMENT PRORASIX
   rem supprime les lignes vides

   for /f "tokens=*" %%I in (%_m%checklist_prorasix) do echo. %%I >> %_m%checklist_prorasix_bis

   rem recherche la chaine de caractere "fin de checktist" et son numero de ligne

   type %_m%checklist_prorasix_bis | find /n /i "FIN de CHECKLIST" > %_m%checklist_prorasix_ter
   for /f %%i in (%_m%checklist_prorasix_ter) do set numligne=%%i
   if "%numligne%" == "" goto rientrouvee
   set numligne=%numligne:~1,3%
   echo %numligne%

   rem compte les lignes et affiche la sortie dans un fichier texte

   Set compt=

   setlocal enableDelayedExpansion
   FOR /f "Tokens=*" %%a in ('Type %_m%checklist_prorasix_bis') Do (
   Set /A compt +=1
   If !compt! LEQ %numligne% echo %%a >> %_m%checklist_prorasix_final
   )
   endlocal

   rem redirection du méssage vers un fichier espion 01.txt:
   echo. > 01.txt
   echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >> 01.txt
   echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx          PRORASIX             xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >> 01.txt
   echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >> 01.txt
   echo. >> 01.txt
   rem redirection du contenu du fichier file.txt vers le fichier espion 01.txt ( pas décrasement ) :
   type %_m%checklist_prorasix_final >> 01.txt
   rem en écrasant les deux résultats dans le fichier on fait :
   type 01.txt > %_m%checklist_prorasix_final
   rem effacement du fichier 01.txt
   del 01.txt
   pause
   rem TRAITEMENT NOSOUCIX

   for /f "tokens=*" %%I in (%_m%checklist_nosoucix) do echo. %%I >> %_m%checklist_nosoucix_bis

   type %_m%checklist_nosoucix_bis | find /n /i "FIN de CHECKLIST" > %_m%checklist_nosoucix_ter
   for /f %%i in (%_m%checklist_nosoucix_ter) do set numligne=%%i
   if "%numligne%" == "" goto rientrouvee
   set numligne=%numligne:~1,2%
   echo %numligne%

   Set compt=

   setlocal enableDelayedExpansion
   FOR /f "Tokens=*" %%a in ('Type %_m%checklist_nosoucix_bis') Do (
   Set /A compt +=1
   If !compt! LEQ %numligne% echo %%a >> %_m%checklist_nosoucix_final
   )
   endlocal

   echo. > 01.txt
   echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >> 01.txt
   echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx          NOSOUCIX             xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >> 01.txt
   echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >> 01.txt
   echo. >> 01.txt

   type %_m%checklist_nosoucix_final >> 01.txt
   type 01.txt > %_m%checklist_nosoucix_final
   del 01.txt

   etc etc, et ce sur une vingtaine de serveurs

   puis:

   copy %_m%checklist_prorasix_final+%_m%checklist_nosoucix_final /A \\WSC0029\Documents\%username%\Documents\checklists\checklist_globale_%_n%
   del %_m%checklist_prorasix_final %_m%checklist_nosoucix_final
   del %_m%checklist_prorasix_bis %_m%checklist_nosoucix_bis
   del %_m%checklist_prorasix_ter %_m%checklist_nosoucix_ter
   net use m: /delete
   start notepad \\WSC0029\Documents\%username%\Documents\checklists\checklist_globale_%_n%
   start %comspec% /c "mode 60,10&title Checklists&color 1e&echo.&echo. Le fichier a ete cree dans&echo.&echo. \\WSC0029\Documents\%username%\Documents\checklists\checklist_globale_%_n%&echo. presser une touche pour quitter&pause>NUL"

voila, c'est un peut trop compliqué pour moi la,

   set numligne=%numligne:~1,3%

quand je change le "3" par le nombre de decimale reel de la ligne mon script fonctionne...

d'avance merci

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...