Schleife funktioniert nicht

Hallo,

ich habe in einer Batch-Datei folgenden Aufbau:

SET Ref=„D:“
SET a=„C:\Datei.dll“
SET b=„C:\Datei2.dll“
SET c=„C:\Datei3.ocx“
SET d=""

REM Bereitstellung der benötigtem Programmbibliotheken

anfang

IF „%a%==“" GOTO ende

REM Fullname in Pfad- und Dateinamen trennen
for %%i in (a b c d) do set sPATH=%%~di%%~pi
for %%i in (a b c d) do set sFILE=%%~ni%%~xi
REM Pfadangaben der Programmbibliotheken prüfen
SET Path=%sPath:"=%
REM SET Path=%Path: =%
IF NOT EXIST %Path% MKDIR %Path%

REM Programmbibliotheken in der korrekten Version zur Verfügung stellen
SET File=%sFile:"=%
REM SET File=%File: =%

SET src=%Ref%%File%
SET tgt=%Path%%File%

xcopy /r /y %src% %tgt%

REM ActiveX-Steuerelemente registrieren
IF %str:~-3% == „ocx“ RegSrv32.exe src tgt
echo %%i
pause
SHIFT
GOTO anfang

ende

echo done
pause

Leider passiert in der Schleife garnix.
Bei ‚echo done‘ komme ich nie an, statt dessen wird das DOS-Fenster sofort geschlossen.

Kann mir jemand sagen, was ich falsch mache?

DANKE & Gruß

Hob

Leider passiert in der Schleife garnix.
Bei ‚echo done‘ komme ich nie an, statt dessen wird das
DOS-Fenster sofort geschlossen.
Kann mir jemand sagen, was ich falsch mache?

Hallo Hob,

wie wärs, du setzt ein
Echo 1 > c:\test\kontrolle.txt
Echo 2 >> c:\test\kontrolle.txt
Echo 3 >> c:\test\kontrolle.txt
usw.

an bestimmten Stellen in den Code.
Dann siehst du in der txt-Datei wie weit der Code kam.
Dann kannste das verfeinern. Danach weißt du an welcher Code-Stelle der Code aussteigt.

Gruß
Reinhard

Hallo Reinhard,

hab das mal wie beschrieben getestet. Die Variablen werden zugeordnet,
die Schleife aber erst gar nicht angefangen. Es scheint also ein Fehler im Schleifenkopf zu sein.

Viele Grüße

Hob

1 Like

Hallo!

Die Zeile

IF „%a%==“" GOTO ende

hat ein Hochkomma zuviel. Was is damit?

LG