cheyenne123
Goto Top

Variablen mit Werten belegen

Ich bastelle so zum Spass an einer Batchdatei, die ich zusammen mit Imagemagick verwenden möchte.

Ich habe in verschiedenen Konstellationen immer mal wieder Probleme mit Variablen, hier ein aktuelles Beispiel:

@echo off

REM echo %cd% 
SET datei=%cd%\woody.txt
SET aktdatei=%cd%\logo.gif

magick identify %aktdatei% > %datei%

SET /p variable=<%datei%

find /i "1-bit" %datei%  
if errorlevel 1 goto error
   REM SET bitvar= 1-Bit
   echo gefunden 1 Bit
   SET "bitvar = 1"  
   REM echo 1
   goto ende

:error
find /i "8-bit" %datei%  
if errorlevel 1 goto error1
   REM SET bitvar= 1-Bit
   echo gefunden 8 Bit
   SET "bitvar = 8"  
   REM echo 8
   goto ende

:error1
find /i "24-bit" %datei%  
if errorlevel 1 goto error2

   REM SET bitvar= 1-Bit
   echo gefunden 24 Bit
   SET "bitvar = 24"  
	REM echo 24
   goto ende

:error2
:ende
echo on
echo bitvar: %bitvar%

REM magick convert -crop 2x1@ -scene 1 %aktdatei" links.tif  
pause

Als Ergebnis bekomme ich folgendes:

screenshottemp

Der Echobefehl wird also korrekt ausgeführt 8-Bit ist hier rirchtig, aber die Variable bitvar kann ich offensichtlich nicht setzen.

Ich habe sämtliche REMs dringelassen, die meine unterschiedlichen Tests zeigen. Ich habe auch eine andere Batchdatei angelegt, weil ich kontrollieren wollte, ob die Syntax korrekt ist:

@echo off

set "prefix=test"  

echo %prefix%
pause

Hier bekomme ich die korrekt Ausgabe: test

Wo ist also im oberen Skript das Problem? Anmerkung, in der woody.txt steht folgendes:

"logo.gif GIF 640x480 640x480+0+0 8-bit sRGB 256c 28576B 0.000u 0:00.000"

Content-Key: 530222

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

Printed on: April 29, 2024 at 08:04 o'clock

Member: em-pie
em-pie Dec 30, 2019 at 06:36:32 (UTC)
Goto Top
Moin,

Versuche einmal, bei dem Setzen der Variable bitvar das Leerzeichen nach dem = wegzulassen

Gruß
em-pie