Jump to content

datensicherung mit batch


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

hallo,

 

ich brauche eine bat die beim aussführen einen ordner mit datum-zeit bezeichnung anlegt und dann die quelle dort hinein kopiert. mit datum habe ich es schon nur mit datum-zeit bekomme ich es nicht hin. eine exe geht nicht da ich quelle und ziel öffters anpassen muß.

 

for /f "tokens=1,2*" %%a in ('date /t') do set date=%%b

md d:\ordner\%date%

copy D:\test d:\ordner\%date%\*.*

 

 

mfg

schotte

Geschrieben

Hi Schotte!

Das mit der .EXE geht doch. Mußt Quelle und Ziel nur als Parameter an die Exe geben oder [dokumentiert auch besser] Quelle/Ziel bzw. was sonst noch von Interesse wäre aus einer .TXT einlesen. Dann vermeidest Du auch den ganzen Rumpel mit den Sets und temporären EnvVars.

Gegrüßt!

Geschrieben

@Finanzamt

 

jedesmal eine eingabe von ziel und ort fällt aus, da die batch ca 10mal am tag ausgeführt werden soll. die idee mit der txt, die man ja einmal anpassen kann, und dann immer wieder durch die exe ausgelesen wird, ist gut. aber eine batch wäre mir lieber

 

mfg

schotte

Geschrieben

Hallo schotte,

 

es gibt schon (je nach OS) die Variablen %date% und %time%.

 

Gib mal set /? ein. Dort wird erklärt wie du Teile daraus entnimmst.

 

echo %date:~9,4%%date:~6,2%%date:~3,2%%time:~0,2%%time:~3,2%

 

gibt bei mir am 19.12.2004 um 21:02 folgendes zurück

 

200412192102

 

thorgood

Geschrieben

Wenn unter W2k und w2k3 das gleiche angezeigt werden soll, werte die Variable von hinten aus:

 

%date:~-4%%date:~-7,2%%date:~-10,2%%time:~0,2%%time:~3,2%

 

Bei w2k beginnt das Datum mit dem Wochentag ;)

 

Ich liebe diese kleine Änderungen von Version zu Version :rolleyes:

Geschrieben

Hey junx,

leider kann ich die Zeile:

 

for /f "tokens=1,2*" %%a in ('date /t') do set date=%%b

 

nicht verstehen, weil mir das Detailwissen fehlt.

Deswegen kann ich leider nicht umformulieren, wie die Batch nun aussehen könnte.

Muß das als *.bat oder als *.vbs gespeichert werden? (einer sprach noch von *.exe?)

Kann mir da jemand helfen??

Das könnt ich GUT gebrauchen.

Der Rest war neu und höchst interessant für mich.

Danke

Michael

Geschrieben

hallo!

 

als .bat speichern ;)

 

in w2k liefert dir date /t: Mo 20.12.2004

 

for /f "tokens=2" %%a in ('date /t') do set date=%%a

 

habs umformuliert. du nimmst dir mit diesem befehl (for-schleife), den zweiten token (Mo=erster, 20.12.2004=zweiter) speicherst ihn zwischenzeitlich in der variable a und weist der variable date den wert von a zu.

 

hier vielleicht noch ein beispiel fürs verständnis:

mit delims kannst du auch die trennzeichen zwischen den tokens definieren (hier punkt):

 

for /f "tokens=2 delims=\." %%a in ('date /t') do set date=%%a

 

speichert in date: 12

 

wenn du noch was wissen willst, dann frag.

bzw. gib in der cmd: for /?

ein...dann kannst du dich ein wenig mit dem for-befehl spielen ;)

 

lg

dani

Geschrieben

Danke für die Erklärung!

"for" war nicht das problem sondern die "tokens" und "%%", von deren Exixtenz bzw Sinn ich bis gerade nix wußte.

Auch war am Ende der Zeile ein "b" wo m.E. ein "a" hätt stehen müssen. naja das ist soweit klar. Wichtig auch der hinweis, dass jede Version da eigene Ausgaben macht (klasse das).

 

hab gerade versucht die Batch zu schreiben. Die erste Zeile geht schon :)

den "md" befehl setzt er auch um und schreibt brav:

md d:\ordner\12

leider "antwortet" das System mit

Das Gerät ist nicht bereit

 

Hast Du noch ne Idee, was das sein kann? (schreibrechte etc hab ich)

 

Michael

Geschrieben

au sch... sch... sch...

Was schrieb heute noch ein anderer "Ich bin nix wert" dito!!!

tschuldigung.

bei den ersten Versuchen hab ich noch den Laufwerksbuchstaben angepasst, dann leider nicht mehr. Naja und ein CD-Laufwerk ist da wohl das falsche Ziel. peinlich.

So hoffendlich genug auf dem Boden rumgerobbt. Danke für die Nachhilfe. :)

Michael

Geschrieben

hallo,

hab mein problem hiermit gelöst.

 

@echo off

ver

ver | find "2000" > nul

if %errorlevel% EQU 0 goto w2k

ver | find "XP" > nul

if %errorlevel% EQU 0 goto wxp

 

:wxp

echo windows xp..

md %date:~6,4%\%date:~3,2%\%date:~0,2%

set t=%time:~0,2%

if "%time:~0,1%"==" " set t=0%time:~1,1%

md %date:~6,4%\%date:~3,2%\%date:~0,2%\%t%%time:~3,2%%time:~6,2%

goto ende

 

 

:w2k

echo windows 2000

md %date:~9,4%\%date:~6,2%\%date:~3,2%

set t=%time:~0,2%

if "%time:~0,1%"==" " set t=0%time:~1,1%

md %date:~9,4%\%date:~6,2%\%date:~3,2%\%t%%time:~3,2%%time:~6,2%

goto ende

 

:ende

 

 

wenn noch einer win98 hinzufügt wäre das super.

habe hier kein win98.

 

 

danke

mfg

schotte

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...