Forums Neueste Beiträge
 

[win7 Ult 64bit] Batch-Aktionen

30/03/2013 - 18:51 von Franklin Schiftan | Report spam
Hallo liebe Windows-Batch-Experten,

ich bin gerade dabei von meinem mittlerweile doch etwas alten und
langsamen Laptop auf ein neues Geràt zu migrieren, welches als BS
allerdings ein 64-bittiges Win7 Ultimate installiert hat.

Ich habe bisher immer noch sehr viele Aufgaben erfolgreich mit
"normalen" Batch-Dateien erledigt, in denen wiederum etliche kleiner
Helferlein-Proggis benutzt / aufgerufen wurden. Diverse davon
funktionieren jetzt jedoch unter dem 64-bit-System nicht mehr - auch
nicht im entsprechenden XP-Kompatibilitàtsmodus - jedenfalls kommt
immer eine entsprechende Meldung ...

Ja, ich weiß, ich könnte probieren, das alte XP-System - oder einzelne
Teile davon - auf dem neuen Geràt in einer virtuellen Maschine zu
betreiben ... dazu habe ich dann sowieso noch Fragen (spàter), aber
möglicherweise gibt es ja für die paar kleinen Aufgaben, die ich
momentan gerade brauche, irgendwelche Alternativen, die auch in
Batches unter 64-bit funktionieren?

Zwei Beispiele dazu:

1.) Per BTOOL ermittle ich den Tag des Monats. Der làsst sich dann als
Errorlevel abfragen und auswerten. In Abhàngigkeit davon wird
automatisch immer am ersten eines Monats ein Komplett-Backup und an
allen anderen Tagen lediglich ein differentielles Backup gestartet.
Aber BTOOL funktioniert nun leider unter 64-bit nicht mehr. Mit
welchem alternativen Tool könnte ich hier in der Batch die richtige
Weiche in Abhàngigkeit vom Tag des Monats stellen?

BTOOL GET_DAYOFMONTH
::
IF ERRORLEVEL 2 "c:\Program Files (x86)\Snapshot\dif.bat"
IF ERRORLEVEL 1 "c:\Program Files (x86)\Snapshot\ful.bat"


2.) Mit Hilfe von FDATE ermittle ich im gewünschten Format das
Dateidatum der bisherigen Logdatei, welches dann in eine
Umgebungsvariable geschrieben und zum Umbenennen der bisherigen
Logdatei verwendet wird, um anschließend die alte Logdatei ganz zu
löschen, damit sie mit dem Voll-Backup wieder frisch neu angelegt
werden kann. Aber leider funktioniert auch FDATE nicht mehr unter
64-bit. Mit welcher Alternative könnte ich in diesem Umfeld das
Gewünschte erreichen?

:FDATE
FDATE /Ff /If /Occyymmdd /Alogfile.txt /p"set
Logfile_date=">%TEMP%\lasttemp.bat
call %TEMP%\lasttemp.bat

if exist "c:\Program Files (x86)\Snapshot\logfile_%Logfile_date%.txt"
GOTO SICHERN
copy "c:\Program Files (x86)\Snapshot\logfile.txt" "c:\Program Files
(x86)\Snapshot\logfile_%Logfile_date%.txt"

del "c:\Program Files (x86)\Snapshot\logfile.txt"


Mit bestem Dank für sachdienliche Hinweise ...

und herzlichen Ostergrüßen sage ich tschüss

Franklin
 

Lesen sie die antworten

#1 Ralf Breuer
30/03/2013 - 19:38 | Warnen spam
Franklin Schiftan schrieb:

1.) Per BTOOL ermittle ich den Tag des Monats. Der làsst sich dann als
Errorlevel abfragen und auswerten. In Abhàngigkeit davon wird
automatisch immer am ersten eines Monats ein Komplett-Backup und an
allen anderen Tagen lediglich ein differentielles Backup gestartet.
Aber BTOOL funktioniert nun leider unter 64-bit nicht mehr. Mit
welchem alternativen Tool könnte ich hier in der Batch die richtige
Weiche in Abhàngigkeit vom Tag des Monats stellen?

BTOOL GET_DAYOFMONTH
::
IF ERRORLEVEL 2 "c:\Program Files (x86)\Snapshot\dif.bat"
IF ERRORLEVEL 1 "c:\Program Files (x86)\Snapshot\ful.bat"



Warum nicht mit Bordmitteln?

set TAG=%date:~0,2%
if /i %TAG% EQU 1 (
"c:\Program Files (x86)\Snapshot\ful.bat") else (
"c:\Program Files (x86)\Snapshot\dif.bat"
)

2.) Mit Hilfe von FDATE ermittle ich im gewünschten Format das
Dateidatum der bisherigen Logdatei, welches dann in eine
Umgebungsvariable geschrieben und zum Umbenennen der bisherigen
Logdatei verwendet wird, um anschließend die alte Logdatei ganz zu
löschen, damit sie mit dem Voll-Backup wieder frisch neu angelegt
werden kann. Aber leider funktioniert auch FDATE nicht mehr unter
64-bit. Mit welcher Alternative könnte ich in diesem Umfeld das
Gewünschte erreichen?

:FDATE
FDATE /Ff /If /Occyymmdd /Alogfile.txt /p"set
Logfile_date=">%TEMP%\lasttemp.bat
call %TEMP%\lasttemp.bat



rem Datum yyyymmtt

set Logfile_date=%date:~6,4%%date:~3,2%%date:~0,2%

Gruß
Ralf

Ähnliche fragen