Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Mazani souboru na FTP serveru - automatizace pomoci scriptu (win2win)

Zdravím,

potřebuju napsat .bat ("windows shell) script, který se připojí na ftp server (běžící na windows) a smaže obsah složky TEST.

Zkusil jsem použít klasický ftp příkaz rm TEST(případně rmdir TEST), ty ale řvou, že adresář TEST obsahuje soubory, takže ho nelze smazat. Nenašel jsem žádný přepínač, který by toto ignoroval a adresář smazal i když nějaké soubory obsahuje. Pak jsem zkusil příkaz mdelete , který se ale zase pokaždé ptá, zda chci daný soubor smazat - toto je potřeba potvrdit písmenem y a následným stisknutím enteru v commandline - což je špatně, potřebuju to zautomatizovat a zase jsem nenašel žádnou možnost, jak mu říct, aby se na to neptal a smazal to bez potvrzování. Takže tudy cesta nevede.

Dále jsem zkusil použít utilitku ncftp.exe, která má příkaz rm -r NAZEV_SLOZKY. Ten už sice funguje a adresář i se soubory smaže, ale musím tento příkaz zadat ručně z příkazové řádky. Já bych potřeboval vědět, jak mu tento příkaz předat v tom bat scriptu. Googlil jsem jak divej, ale nemůžu na to přijít.

Řádek pro připojení na FTP vypadá takto:
ncftp.exe -u username -p heslo ftp_host

nevím ale, jak a kam mam dopsat to "rm -r TEST", aby ten ncftp.exe po připojení provedl. Zkusil jsem to dát na další řádek, takže script vypadal následovně:

ncftp.exe -u username -p heslo ftp_host
rm -r TEST

Což ale bat script chápe, jakože jsem to rm -r TEST napsal jakožto příkaz pro windows shell, nikoliv pro ten ncftp.exe

Další pokus byl

ncftp.exe -u username -p heslo ftp_host
ncftp.exe rm -r TEST

což ale také nefunguje, protože první řádek zařídí připojení k FTP serveru, ale ten druhý už selže, protože je to pro něj neplatná syntaxe (očekává přístupové údaje k FTP).
Takže řešení by mělo být tyto dva příkazy (připojení + smazání) nějak skloubit dohromady na jeden řádek. Ale to je právě to, co se mi nedaří.

Máte s tímto prográmkem nějaké zkušenosti? Případně znáte jiný způsob, jak ty soubory na FTP smazat? Pokud možno pomocí bat scriptu, nebo nějaké jiné windows commandline utilitky.

Předmět Autor Datum
"mdelete" nepoznám... odkiaľ si ho vzal? na mazanie adresára predsa slúži "rmdir" prepínač /S /Q
pme 21.12.2010 12:05
pme
echo y | ftp mdelete ...
los 21.12.2010 12:33
los
Proč nepoužiješ ftp klienta z windows, který se dá výborně skriptovat? (parametr -s) c:\>ftp --help… poslední
touchwood 21.12.2010 13:29
touchwood

Proč nepoužiješ ftp klienta z windows, který se dá výborně skriptovat? (parametr -s)

c:\>ftp --help

Přenáší soubory mezi počítači se spuštěnou službou serveru FTP
(někdy nazývanou také démon). Službu FTP lze používat interaktivně.

FTP [-v] [-d] [-i] [-n] [-g] [-s:název_souboru] [-a] [-w:vel_paměti] [-A] [hosti
tel]

  -v             - vypne zobrazování odpovědí vzdáleného serveru.
  -n             - vypne automatické přihlášení po úvodním připojení.
  -i             - vypne zobrazování interaktivní výzvy
                 při přenosu více souborů.
  -d             - zapne ladění.
  -g             - vypne expanzi názvů souborů (viz příkaz GLOB).
  -s:název_souboru    - určuje textový soubor obsahující příkazy FTP,
                 které budou automaticky spuštěny po spuštění služby FTP.
  -a             - použije libovolné místní rozhraní při vázání datového připojení.
  -A             - přihlášení jako anonymní uživatel.
  -w:vel_paměti  - přepíše výchozí velikost vyrovnávací paměti (4 096).
  hostitel       - určí název nebo adresu IP vzdáleného hostitele, ke kterému
                 se má příkaz připojit.

Poznámky:
  - příkazy mget a mput přijímají hodnoty y/n/q pro akce ano/ne/konec.
  - příkazy ukončíte stisknutím kláves CTRL+C.

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