Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Pomoc s vytvorenim .bat suboru

Zdar borci. V praci sa dost casto pripajam na pocitac v sieti odkial stahujem subory cez ftp. Nedavno som cital o .bat suboroch ktore automaticky spustaju urcite prikazy. Skusal som to aj sam naprogramovat, ale neuspesne. Takze potrebujem nasledovne:

1. pripojit sa na: ftp -i 10.0.0.222
2. po vyzvani na zadanie uzivatelskeho meno zadat: xxx
3. po vyzvani na zadanie uzivatelskeho hesla zadat: yyy
4. zmenit zlozku na: cd /v/disk/subor

a nakoniec nieco tazsie

5. potrebujem stiahnut subory pomocou prikazu "mget" ABC.20 az ABC.30, tak aby som nemusel za kazdym zadavat mget ABC.20, mget ABC.21, mget ABC.22,... ale len zadal rozsah ABC.20- ABC.30.

Dakujem za pomoc.

Předmět Autor Datum
To co chces je moc sci-fi. Mozno cez nejaky VB script ale nie cez .bat Inac ten bod s ulozenym ftp h…
MM.. 19.09.2007 22:38
MM..
Skript v shellu by zvladnul tohle docela dobre :-)
JR_Ewing 19.09.2007 22:54
JR_Ewing
A ako chces zo shellu spustat prikazy ftp klienta? Resp co myslis tym shellom?
MM.. 19.09.2007 22:57
MM..
otevru si session a pomoci "echo" do ni vkladam prikazy ;-) stejnym zpusobem si delam ovladaci skrip…
JR_Ewing 20.09.2007 07:19
JR_Ewing
ale on by to zvladnul i davkac (File_Transfer_Protocol +help ftp ve win) a s tema souborama se to de…
kmochna 19.09.2007 23:01
kmochna
Takze ftp klient co je vo Win podporuje skriptovanie. Dobre vediet. potrebujes ale urobit skript pre…
MM.. 19.09.2007 23:09
MM..
tak tak - vola se ftp a ten si precte textak - ale je to takovy nesikovny - radsi bych vyuzil sluzeb…
kmochna 19.09.2007 23:18
kmochna
Mě tohle naopak připadá jako docela elegantní řešení.
angel333 19.09.2007 23:58
angel333
To zadavanie mena a hesla je u nas skor len ako formalita. Kazdy zamestnanec sa prihlasuje pod rovna…
Alex 19.09.2007 22:57
Alex
Nechapes ze .bat spusta prikazy operacneho systemu a nie prikazy nejakeho programu (ftp klienta). Ot…
MM.. 19.09.2007 22:59
MM..
sposob akym TC spracovava FTP hesla nie je o nic bezpecnejsi, co je vsak vzhladom k (ne)zabezpeceniu…
mkmt 19.09.2007 22:58
mkmt
tak hej ale v TC si nemusis heslo ulozit ale mozes ho zadavat rucne, ako to robim ja :-) Ak sa jedna…
MM.. 19.09.2007 23:01
MM..
skus sa pozriet tu: How to script ftp commands 555976
mkmt 19.09.2007 23:13
mkmt
dodatocna otazka: to ABC.20 az ABC.30 bude stale rovnake alebo zakazdym ine (a chces to nejako zadav…
MM.. 19.09.2007 23:28
MM..
Cisla za bodkou su zakazdym ine. Retazec pred bodkou je stale rovnaky.
Alex 19.09.2007 23:52
Alex
On to IMHO myslel trochu jinak. Jestli ten řetězec před tečkou bude vždy ABC, nebo jestli to dneska…
angel333 19.09.2007 23:55
angel333
Ano ten retazec pred bodkou bude vzdy ABC, ale tiez cisla za bodkou sa menia kazdy den.
Alex 20.09.2007 00:00
Alex
No tak to bude zlozitejsie, a podla coho tie cisla vznikaju, chces ich tam zadavat kazdy den rucne a…
MM.. 20.09.2007 00:18
MM..
Takže jeden den to bude ABC.30 až ABC.40 a jinej den to bude třeba ABC.5 až ABC.15 ?
angel333 20.09.2007 00:21
angel333
coz o to seznam souboru se vytvori hrozne jednoduse tabulkovy kalkulator sloupec A: staticka data -…
kmochna 20.09.2007 00:40
kmochna
Ok takze urobil som ti takyto .bat, nazvi to napr. stiahni.bat: @echo off echo jmeno_uzivatele >ftp…
MM.. 20.09.2007 00:42
MM..
Takze dneska som to skusal. Napojilo ma to na ftp, zadalo uzivatelske meno, ale stroskotalo to pri p…
Alex 20.09.2007 18:33
Alex
BTW: user name sa zhoduje s password
Alex 20.09.2007 18:34
Alex
A zmenil si to v tom bat na tvoje meno a heslo ? (druhy a treti riadok)? Skontroloval si si ten vytv…
MM.. 20.09.2007 19:20
MM..
Ano zmenil a skontroloval vytvoreny script. Druhy a treti riadok som mal rovnaky, kedze ako som pisa…
Alex 20.09.2007 19:41
Alex
Ty řádky přidají (zapíší) zadaný řetězec (v, script, subor, ...) do souboru ftpscrpt.txt.
host 20.09.2007 19:44
host
Ok, tak ci som to spravne pochopil. Tebou vytvoreny .bat subor najprvj do textoveho suboru ftpscrpt.…
Alex 20.09.2007 21:53
Alex
Ano tak to funguje. Kazdy prikaz echo zapise to co je za nim do toho suboru ftpscrpt.txt. Prikaz for… poslední
MM.. 21.09.2007 00:27
MM..
Este poznamka: pouzivam XP Pro SP2 a mam prava administratora.
Alex 20.09.2007 00:02
Alex

To co chces je moc sci-fi. Mozno cez nejaky VB script ale nie cez .bat
Inac ten bod s ulozenym ftp heslom v .bat je hodne bezpecny :-)

Odporucam radsej pouzivat total commander. Ftp klienta ma v sebe. Na Ftp je v totalcommanderi klavesova skratka Ctrl-F, aby si nemusel chytat mys (chytanie mysi moc spomaluje pracu).

ale on by to zvladnul i davkac (File_Transfer_Protocol +help ftp ve win)
a s tema souborama se to dela tak ze se to narve do tabulkace a tahanim bunky se ciselne vytvori seznam souboru a ulozi do txt.
--
ale proc to delat jednoduse kdyz to jde slozite - ve filezille si to najedu oznacim ulozim a za tyden spustim

edit pro alexe inspirace - takhle se to dela
http://interval.cz/clanky/synchronizace-dat-pomoci- standardniho-ftp-klienta-windows/

Takze ftp klient co je vo Win podporuje skriptovanie. Dobre vediet. potrebujes ale urobit skript pre ftp, a nie .bat. Subor .bat by obsahoval len jeden riadok, co moze byt aj v zastupcovi, .bat je zbytocny (t.j. davkac by to fakt nezvladol, zvladne to ten ftp.exe a nie davkac).

Nechapes ze .bat spusta prikazy operacneho systemu a nie prikazy nejakeho programu (ftp klienta).
Otazka nie je urobit .bat, ale ze akeho ftp klienta pouzit, ktory nejako podporuje automatizaciu/skripty alebo nieco podobne. Ja takeho klienta nepoznam preto odporucam total commander. Je to prehladne a mozes si tam ulozit tusim aj heslo ak chces.

No tak to bude zlozitejsie, a podla coho tie cisla vznikaju, chces ich tam zadavat kazdy den rucne alebo ako?

To co chces by vyzadovalo ze nieco (napr. na to moze byt aj .bat, aj ked je na to najmenej vhodny) kazdy den zmeni textovy script subor pre ftp, tak ze v nom zmeni nazvy suborov. A potom to spusti ftp a ako parameter mu to preda ten script subor.

coz o to seznam souboru se vytvori hrozne jednoduse
tabulkovy kalkulator
sloupec A: staticka data - chytnout potahnout dolu
sloupec B:dynamicka data - chytnout potahnout dolu (cislo se meni)
oznacit sloupec A i B zkopirovat
vlozit do textaku

[http://img223.imageshack.us/img223/7481/batchgd2.pn g]

dokonce na to mam nekde spesl programek na vytvareni davky - jenze ho nemuzu najit -ale porad si myslim to vrazit nekam do ftp klienta nebo flash getu (ten umi i vytvaret davky)by bylo pohodlnejsi

Ok takze urobil som ti takyto .bat, nazvi to napr. stiahni.bat:

@echo off
echo jmeno_uzivatele >ftpscrpt.txt
echo heslo >>ftpscrpt.txt
echo lcd c:\prijate >>ftpscrpt.txt
echo cd v >>ftpscrpt.txt
echo cd script >>ftpscrpt.txt
echo cd subor >>ftpscrpt.txt
echo binary >>ftpscrpt.txt
for /L %%i in (%1,1,%2) do echo get SUBOR.%%i >>ftpscrpt.txt
echo bye >>ftpscrpt.txt

tento bat vytvori script subor ftpscrpt.txt, ten nazov suboru si mozes zmenit ako chces. Takisto to co v tom script subore bude si mozes modifikovat (pridavat alebo modifikovat si tie prikazy echo). Prvy riadok ma len jedno > to znamena povodny subor ftpscrpt.txt sa premaze, dalsie riadkky maju dve >> to znamena ze sa do suboru ftpscrpt.txt pridava (to co v nom bolo predtym sa nepremaze).
Cyklus for ti tam pridava prikazy get SUBOR.cislo
Ten .bat zavolas s parametrami zaciatocne a posledne cislo suboru, napr.
stiahni.bat 10 19
urobi script subor kde bude stahovanie suborov SUBOR.10 az SUBOR.19
zaviolaj si ten .bat, pozri si ten vytvoreny script subor ftpscrpt.txt (napr. v poznamokovom bloku), a pripadne si zmodifikuj ten .bat ako chces. Az budes s vytvorenym script suborom spokojny, tak si na koniec toho .bat pridaj aj prikaz ftp, nech ten bat hned aj spusti ftp:

ftp.exe -a -i -s:ftpscrpt.txt 10.0.0.222

P.S. priklaz lcd (treti riadok) je zmena lokalneho adresara (na lokalnom disku), to si zmen ako chces, a dalsie prikazy cd su zmena adresara na serveri, to si tiez zmen ako chces. Aj nazov suborov (to "SUBOR" v tom cykle for) si zmen ako chces.

P.S.2. ak v adresari nebudes mat nic ine spustitelne s nazvom "stiahni", tak nemusis ani pisat priponu .bat, t.j. namiesto
stiahni.bat 10 19
staci napisat
stiahni 10 19

Daj vediet ci ti ten .bat staci.

Ano zmenil a skontroloval vytvoreny script. Druhy a treti riadok som mal rovnaky, kedze ako som pisal user a password mame rovnaky. Ale aj tak ma to nepustilo za riadok v ktorom zadavam heslo. V tom .bat co si vytvoril velmi nechapem tymto riadkom:

echo lcd c:\prijate >>ftpscrpt.txt
echo cd v >>ftpscrpt.txt
echo cd script >>ftpscrpt.txt
echo cd subor >>ftpscrpt.txt
echo binary >>ftpscrpt.txt

Sluzia na spustenie scriptu? V ktorom riadku zadavam cestu k suboru?

Ok, tak ci som to spravne pochopil. Tebou vytvoreny .bat subor najprvj do textoveho suboru ftpscrpt.txt zapise prikazy, ktore po pridani "ftp.exe -a -i -s:ftpscrpt.txt 10.0.0.222" ako posledny riadok, bude automaticky spustat z tohto textoveho dokumentu?

Ano tak to funguje. Kazdy prikaz echo zapise to co je za nim do toho suboru ftpscrpt.txt. Prikaz for je cyklus (od 1.parametra, krok 1, po 2.parameter) aby ti to urobilo v ftpscrpt.txt aj prikazy get SUBOR.cislo get SUBOR.cislo+1 atd.
Potom nakonci ftp.exe vykonava prikazy z toho pripraveneho script suboru. Na zaciatku scriptu ma byt prvy riadok meno a druhy riadok heslo (aspon tak som to pochopil podla tych popisov na ktore su linky v diskusii vyssie).

Druhy a treti riadok toho .bat nemozu byt rovnake !!!
Druhy musi mat na konci >ftpscrpt.txt
treti (a vsetky dalsie) musi mat na konci >>ftpscrpt.txt
Vysvetloval som to v tom prispevku ze co znamena > a co znamena >>

Preistotu opakujem: ten bat sa spusta s parametrami (pociatocne a koncove cislo suboru ktory chces stiahnut). Ak tomu nerozumies tak sa radsej pytaj comu nerozumies. Inac som myslel ze chces len "pomoct s vytvorenim bat" :-)

Zpět do poradny Odpovědět na původní otázku Nahoru