WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   dos skript (http://www.wcm.at/forum/showthread.php?t=46545)

MrWolf 16.02.2002 01:07

dos skript
 
hi leute!

peinliche frage aber mit DOS kenn ich mich nicht so sehr aus:

ich möchte ein skript (unter xp-shell) erstellen welches mir automatisch ein backup macht und dazu ein verzeichnis anlegt mit name heutiges datum-uhrzeit
also z.b. 22.02.2002-13-56

folgendes skript funktioniert super allerdings nimmt es nur das datum als verzeichnisname

for /f "tokens=1,2*" %%a in ('date /t') do set date=%%b
md d:\backup\%date%
pscp -pw passwort -r rechner@domain.at:verzeichnis/ d:\backup\%date%\

wenn ich die uhrzeit hinten dranhänge meckert das dos wegen der unerlaubten zeichen 12:23 im dateinamen. gibts eine einfache möglichkeit das : durch z.b. - zu ersetzen (ähnlich wie mit egrep)?

vielen dank für die hilfe
lg mrw

ReiniBugman 16.02.2002 20:34

So hat's bei mir funktioniert:

for /f "tokens=1,2,3* DELIMS=. " %%a in ('DATE /t') do set datum=%%c%%b%%a
for /f "tokens=1,2* DELIMS=: " %%a in ('TIME /t') do set datum=%datum%_%%a%%b

echo %datum%

MrWolf 17.02.2002 13:56

funktioniert beinahe
nach datum und uhrzeit, wird allerdings ein leerzeichen angefügt
was z.b. 20020210 _1245 ergibt. kann man das noch ändern?

wo gibts eine vernünftige dokuementation zu den verwendeten befehlen?

danke trotzdem für den ansatz

lg mrw

ReiniBugman 17.02.2002 22:27

Du hast vermutlich das Leerzeichen in der ersten for-Schleife im DELIMS-Part vergessen! Nach dem '.' ist da noch ein Blank vor dem Anführungszeichen, also DELIMS=.<blank>"

Doku gibts zB bei:
http://www.ss64.com/
oder
http://www.fpschultze.de/bss.htm

LG,
Reinhard

MrWolf 18.02.2002 00:29

danke für die links
versteh jetzt was der for /f befehl eigentlich macht-> somit war mein problem auch klar:

mit tokens=1,2,3* wird nach dem dritten token noch ein leerzeichen genommen --> 1,2,3 alleine reicht :-)

sollt den thread mal jemand sonst benötigen:
das skript erstellt im verzeichnis backup ein verzeichnis namens:
yyyymmtt-hhmm und kopiert vom server den inhalt von verzeichnis (mit username und passwort) (pscp ist secure copy)

for /f "tokens=1,2,3 DELIMS=. " %%a in ('DATE /t') do set datum=%%c%%b%%a
for /f "tokens=1,2* DELIMS=: " %%a in ('TIME /t') do set datum=%datum%_%%a%%b

rem neues verzeichnis erstellen
md f:\backup\%datum%

rem files per pscp vom server kopieren...
pscp -pw passwort -r username@server.provider.at:verzeichnis f:\backup\%datum%

danke für die hilfe

valo 18.02.2002 00:45

Zitat:

Original geschrieben von MrWolf
sollt den thread mal jemand sonst benötigen:
pscp bekommt man von hier:

http://www.chiark.greenend.org.uk/~s.../download.html


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag