BAT cu comenzi FTP


Astăzi vă propun să vedem o soluţie rapidă pentru publicări sau descărcări repetate prin FTP. Să presupunem un scenariu: aveţi un proiect cu n fişiere şi din când în când le arhivaţi şi doriţi să publicaţi rapid arhiva într-un cont FTP disponibil, pe principiul că o copie de siguranţă nu strică niciodată! Pentru aceasta tot ce trebuie să facem este cu Notepad să creăm un fişier, să zicem urca.bat, în care să punem următoarele linii.

@echo off
echo user numeutilizator>> urca.tmp
echo parola>> urca.tmp
echo bin>> urca.tmp
echo put arhiva.zip>> urca.tmp
echo quit>> urca.tmp
ftp -n -s:urca.tmp adresaserverftp
del urca.tmp

Evident veţi înlocui numeutilizator, parola şi adresaserverftp cu datele de conectare la FTP. De asemenea în loc de arhiva.zip veţi pune fişierul pe care doriţi să îl publicaţi. Atenţie: fişiertul urca.bat şi cu fişierul ce se doreşte publicat prin FTP să fie în acelaşi director. Atât! Un dublu click pe urca.bat şi fişierul va fi publicat. Acum traducerea! Prima linie suspendă reacţiile comenzilor (adică pune cumva pe mute execuţia comenzilor). Apoi începem să scriem într-un fişier temporar, urca.tmp datele de conectare şi comenzile FTP. Dăm numele de utilizator, parola, cu put punem fişierul pe server iar cu quit "salutăm" serverul deconectându-ne. Apoi vine comanda FTP care execută conţinutul fişierului temporar, pe care în ultima linie îl ştergem.

Variaţii acum. Doriţi să publicaţi mai multe fişiere? Multiplicaţi linia cu echo put… de câte ori e nevoie, scriind alte fişiere de publicat. Doriţi să faceţi din fişierul urca.bat unul generic? Puteţi modifica atunci aceeaşi linie după cum urmează:

echo put %1>> urca.tmp

Acum apelul comenzii nu se va mai face cu dublu click pe urca.bat ci din DOS cu o comandă de genul:

urca arhiva.zip

Pentru aceasta trebuie să fiţi desigur cu prompterul DOS în directorul cu fişierul urca.bat. Pentru operativitate puteţi să vă adăugaţi în meniul contextual din Explorer o opţiune pentru a lansa prompterul DOS exact la respectivul director. Salvaţi următoarele linii într-un fişier text cu numele prompter.reg.

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT’Directory’shell’CommandPrompt]
@="Prompter DOS"
[HKEY_CLASSES_ROOT’Directory’shell’CommandPrompt’Command]
@="cmd.exe /k cd %1"

Apoi executaţi fişierul. Veţi putea astfel oricând să ajungeţi mai rapid la promterul DOS pentru un anumit director.

Să ne întoarcem însă la chestiunile FTP. Să ne imaginăm un alt scenariu. Aveţi pe un server un fişier valoros, pe care doriţi să îl descărcaţi periodic. Vom face tot un fişier bat pentru o execuţie uşoară. Practic este acelaşi fişier doar că în loc de put vom folosi get. Salvăm sub numele de coboara.bat

@echo off
echo user numeutilizator>> coboara.tmp
echo parola>> coboara.tmp
echo bin>> coboara.tmp
echo get arhiva.zip>> coboara.tmp
echo quit>> coboara.tmp
ftp -n -s:urca.tmp adresaserverftp
del urca.tmp

Dacă trebuie să schimbăm directorul putem adăuga înainte de linia cu get o comandă de genul:

echo cd cevadirector>> coboara.tmp

Sau cu comanda lcd putem schimba directorul local. Acum gândiţi-vă că acest fişier bat îl puteţi automatiza din Control Panel, Scheduled Tasks. Puteţi "programa" ca, să zicem, în fiecare zi de luni, de la ora 15, fişierul cutare (o bază de date de exemplu sau ceva fişier important) să fie descărcat pe propriul calculator! Evident puteţi folosi sarcini programate şi pentru publicare. Posibilităţile sunt multe. Dacă aveţi nevoie de aşa ceva tocmai am explicat paşii. Succes!


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (1 evaluări, media: 5,00 din 5)
Loading...Loading...

2 comentarii

  1. florin spune:

    Cum fac cu un fisier .bat sa automatizez instalarea unui pachet de drivere? De exemplu dau click pe fisierul setup.bat si sa inceapa instalarea automata a catorva drivere, fara sa mai apara ferestrele de dialog si nici calea (si pe aceea sa o predefinesc inainte eventual).

  2. holban spune:

    Multumesc pentru publicare si timpul sacrificat. A fost ff util.


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *