buxi
Goto Top

Batch mit Parametererzeugung und Übergabe in der Scriptdatei

Setzen und Übergeben von Parametern in einer Script-Datei

Hallo zusammen,

folgendes Problem für mich:
Es soll in einer Batch-Datei ( kein WSH wenn mgl. ) folgendes passieren:
Es wird für einen Sicherungsjob abgefragt ob ein Lw. mit
einer vorgeg. Datei exist. ( maximal 6 Lw. )
Danach ein vorh. Verz. gelöscht, wieder erzeugt und
danach mit MS-roboco Dateien dort hinein ko-
piert.
Jetzt möchte ich in der Batch nicht jedesmal in den defin.
Sprungmarken den Lw-Buchst. für die Destination (Ziel-Lw.)
für roboc
einfügen müssen,
sondern nur eine Aufrufzeile dafür haben.
Das müsste doch mit FOR und Parametern gehen ?

Gruß
Buxi

Hier die unfertige simple Batch:

@echo off
if exist y:\ex.txt goto safe_y

if exist Z:\ex.txt goto safe_z

@echo on
@echo Fehler kein Lw. gefunden

goto ENDE

:safe_y
rd /S Y:\Test
md Y:\Test
robocopy C:\Test Y:\Test /E /R:1 /W:5
echo ERRORLEVEL %errorlevel% %computername% > Fehler.log
if %ERRORLEVEL%==1 goto ENDE
goto FEHLER
:FEHLER
@echo on
@echo Fehler
pause
goto ENDE

:safe_z
rd /S Z:\test
md Z:\Test
robocopy C:\Test Z:\Test /E /R:1 /W:5
echo ERRORLEVEL %errorlevel% %computername% > Fehler.log
if %ERRORLEVEL%==1 goto ENDE
goto FEHLER
:FEHLER
@echo on
@echo Fehler
pause
goto ENDE

:ENDE

Content-ID: 79048

Url: https://administrator.de/contentid/79048

Ausgedruckt am: 15.11.2024 um 07:11 Uhr

bastla
bastla 24.01.2008 um 14:57:03 Uhr
Goto Top
Hallo buxi!

Ungetestet etwa so:
@echo off & setlocal
set LW=
for %%i in (U V W X Y Z) do if exist %%i:\ex.txt set LW=%%i:
if not defined LW echo Laufwerk nicht gefunden! & goto :eof

rd /S %LW%\Test
md %LW%\Test
robocopy C:\Test %LW%\Test /E /R:1 /W:5
set ERR=%errorlevel%
echo ERRORLEVEL %ERR% %computername% > Fehler.log
if %ERR%==1 goto :eof
echo Fehler
pause

Grüße
bastla
buxi
buxi 24.01.2008 um 18:22:34 Uhr
Goto Top
Hallo Bastla,

habe zwischenzeitlich eine Info von Familienseite bekommen.
Da ich die Problemlösung zu 90 Prozent auf meinem
SoHO-Server schon in einer Bat hatte, danke ich dir für
die restlichen 10 Prozent ( sind in der jetzigen Bat einge-
pflegt face-smile ).
Leider kam ich nicht so schnell an die Daten auf meinem
Server, deshalb das Posting hier.
Mit dieser Info konnte ich dann einem Kollegen,
der an der Problematik arbeitet, die Infos
zugänglich machen ( wie immer gibt es
da mehrere Wege die nach Rom führen ).
Also: weitergeben der Hilfe die man bekommt.

Danke
buxi
Biber
Biber 24.01.2008 um 20:11:51 Uhr
Goto Top
...weniger wichtige Fussnote:

Muss es gegen Ende nicht statt

BISHER:
if %ERR%==1 goto :eof
echo Fehler

ANDERS:
if %ERR% == 0 goto :eof
echo Fehler ErrorLevel %ERR%
.. heißen?

Im Moment wird doch
a) auch jeder erfolgreiche Lauf in die Fehler.log geschrieben
b) IMMER das Wort "Fehler" geECHOed?

Grüße
Biber