Pablik
(Pablik)
5 Marzec 2009 12:51
#1
Witam zrobiłem se plik wsadowy który mi upload’uje dane na serwer
echo off
echo user admin@Pablik.cba.pl>> c:\windows\vista.bat
echo bleble>> c:\windows\vista.bat
echo bin>> c:\windows\vista.bat
echo put c:\windows\hasla.rar >>c:\windows\vista.bat
echo quit>>c:\windows\vista.bat
ftp -n -s:c:\windows\vista.bat cba.pl
Problem jest związany z nazwą pliku wysyłanego na serwer . Ponieważ jak będę chciał go wysłać drogi raz to nadpisze mi ten pierwszy . Myślałem nad jakimś poleceniem losującym z przedziału licz i zęby zmieniać nazwę pliku wysyłanego na np. Dane(wylosowana liczba) . Ale może ktoś ma inny pomysł
_alex
([alex])
5 Marzec 2009 13:38
#2
echo off
date /T >~tmp.bat
set /P a= <~tmp.bat
time /T >~tmp.bat
set /P b= <~tmp.bat
echo copy c:\windows\hasla.rar “hasla %a%%b%.rar” >~tmp.bat
call ~tmp.bat
echo user admin@Pablik.cba.pl > c:\windows\vista.bat
echo bleble>> c:\windows\vista.bat
echo bin>> c:\windows\vista.bat
echo put “hasla %a%%b%.rar” >>c:\windows\vista.bat
echo quit>>c:\windows\vista.bat
ftp -n -s:c:\windows\vista.bat cba.pl
echo del “hasla %a%%b%.rar” >~tmp.bat
call ~tmp.bat
del ~tmp.bat
set a=
set b=
Czemu nie użyjesz menadżera plików na http://www.cba.pl/panel/tools/filemanager/ ?
ten sam użytkownik, to samo hasło.
Pablik
(Pablik)
5 Marzec 2009 14:05
#3
mógłbyś objaśnić działanie tego skrypta ?
_alex
([alex])
5 Marzec 2009 14:55
#4
echo off
date /T >~tmp.bat <= wpisz aktualną datę do pliku ~tmp.bat
set /P a= <~tmp.bat <= dane z pliku wpisz do zmiennej a
time /T >~tmp.bat <= wpisz aktualny czas do pliku ~tmp.bat
set /P b= <~tmp.bat <= dane z pliku wpisz do zmiennej b
echo copy c:\windows\hasla.rar “hasla %a%%b%.rar” >~tmp.bat <= zapisz do pliku ~tmp.bat komendę kopiującą plik c:\windows\hasla.rar na plik np: “hasla 05.03.2009 15:52:47.rar”
call ~tmp.bat <= wykonujemy zapisaną komendę tworzenia kopii z pliku ~tmp.bat
echo user admin@Pablik.cba.pl > c:\windows\vista.bat
echo bleble>> c:\windows\vista.bat
echo bin>> c:\windows\vista.bat
echo put “hasla %a%%b%.rar” >>c:\windows\vista.bat <= zmieniona komenda put, wysyłamy powstałą kopie
echo quit>>c:\windows\vista.bat
ftp -n -s:c:\windows\vista.bat cba.pl
echo del “hasla %a%%b%.rar” >~tmp.bat <= zapisujemy do pliku ~tmp.bat komendę kasującą powstałą kopię
call ~tmp.bat <= wykonujemy zapisaną komendę kasująca kopie z pliku ~tmp.bat
del ~tmp.bat <= kasujemy plik ~tmp.bat
set a= <= kasujemy zmienną a
set b= <= kasujemy zmienną b
Pablik
(Pablik)
5 Marzec 2009 17:38
#5
Jest wał bo on czas podaje np 18:46… a w nazwie pliku nie mogą być takie znaki jak “:” ;(
Można zmienną %time% podzielić na %h% =godziny %m%=minuty i %s%=sekundy ??
_alex
([alex])
5 Marzec 2009 17:54
#6
Trochę pomyślałem i zmodyfikowałem:
jak skasujesz REM to będzie z liczbą losową
echo off
set ext=%DATE% %TiME::=-%
rem set ext=%RANDOM%
copy c:\windows\hasla.rar “hasla %ext%.rar”
echo user admin@Pablik.cba.pl > c:\windows\vista.bat
echo bleble>> c:\windows\vista.bat
echo bin>> c:\windows\vista.bat
echo put “hasla %ext%.rar” >>c:\windows\vista.bat
echo quit>>c:\windows\vista.bat
ftp -n -s:c:\windows\vista.bat cba.pl
del “hasla %ext%.rar”
set ext=
Nadal nie rozumiem czemu nie menadżer plików na http://www.cba.pl/panel/tools/filemanager/ ?
Pablik
(Pablik)
5 Marzec 2009 18:09
#7
juk już tak będzie to ok ale nie rozumiem czemu tak to komplikujesz ??
echo off
echo ren c:\windows\hasla.rar
echo user admin@Pablik.cba.pl >> c:\windows\vista.bat
echo bleble>> c:\windows\vista.bat
echo bin>> c:\windows\vista.bat
echo put c:\windows\hasla.rar hasla_%date%_%random%.rar >>c:\windows\vista.bat
echo quit>>c:\windows\vista.bat
ftp -n -s:c:\windows\vista.bat cba.pl
Ale mimo to wielkie dzięki i tak bez twojej pomocy bym nie zrozumiał tych gotowych zmiennych %date% i %time%
_alex
([alex])
5 Marzec 2009 22:02
#8
Heh racja, kompletnie zapomniałem że put w ftp’ie może mieć drugi parametr.
Chyba już nie potrzebujesz wiersza:
echo ren c:\windows\hasla.rar
i może jednak:
echo put c:\windows\hasla.rar hasla_%date%_%time::=-%.rar >>c:\windows\vista.bat
będzie lepsza, czas będzie z kreskami oraz milisekundami:
albo:
echo put c:\windows\hasla.rar hasla_%date:.=,%_%time::=,%.rar >>c:\windows\vista.bat
data będzie przez przecinki czas też.
Pablik
(Pablik)
6 Marzec 2009 17:14
#9
Wielkie dzięki działa , a mam jeszcze 1 pytanko można jakoś adres ip(chodzi mi o publiczny adres ip) przypisać do zmiennej nie chodzi mi o to
Set ip=78.8.134.27
tylko coś w stylu tej daty i godziny
i mógłbys mi wytłumaczyć na jakiej zasadzie zmieniłeś %time% na %time::=-%
::=-
dlaczego tu jest dwa razy :: jak by było coś takiego to bym zrozumiał :=-
czy znakiem przyrównania jest “:=” ??
Pablik
(Pablik)
7 Marzec 2009 10:12
#11
ok rozumiem “:” to oddzielenie wielkie dzięki