Übergabe der Variablen bei Call funktioniert nicht
Hallo,
ich komme mit menem untenstehnden Code nicht weiter.
In :install bekomme ich nicht die richtigen Variablen ("%Pathdriver%" "%Printername%") übergeben und ich sehe nicht, weshalb es nicht funktioniert.
Danke im Voraus für die HIlfe.
René
ich komme mit menem untenstehnden Code nicht weiter.
In :install bekomme ich nicht die richtigen Variablen ("%Pathdriver%" "%Printername%") übergeben und ich sehe nicht, weshalb es nicht funktioniert.
Danke im Voraus für die HIlfe.
René
@echo off & setlocal enabledelayedexpansion
goto start
:start
IF [%1]==[/?] goto help
echo Bitte Drucker-Typ auswählen:
echo.
echo ML-3310: [1]
echo HP-400: [2]
echo HP 402: [3]
echo PDFCreator: [4]
SET /p printertype=
For %%A in (1 2 3 4 A) Do (if /i '%printertype%'=='%%A' call :temp %%A)
Echo Ungültige Antwort&Pause&Exit /B 1
:temp
if "%1" == "1" (set "PathDriver=.\samsung"
set "PrinterName=ML-3310"
call :install "%Pathdriver%" "%Printername%"
goto :eof)
if "%1" == "2" (set "PathDriver=.\HPUPD\PCL6"
set "Printername=HP-400"
call :install "%Pathdriver%" "%Printername%"
goto :eof)
if "%1" == "3" (set "PathDriver=.\HPUPD\PCL6"
set "Printername=HP-402"
call :install "%Pathdriver%" "%Printername%"
goto :eof)
if "%1" == "4" (set "PathDriver=.\pdfcreator"
set "PrinterName=PDFCreator"
call :install "%Pathdriver%" "%Printername%"
goto :eof)
:install
echo %~1 %~2
goto start
:help
Echo Hilfe nicht verfügbar
goto :eof
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 297741
Url: https://administrator.de/contentid/297741
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
2 Kommentare
Neuester Kommentar
Mal wieder jemand der DelayedExpansion zwar in seinem Skript einschaltet aber anscheinend nicht weiß wozu .
http://ss64.com/nt/delayedexpansion.html
Bei DelayedExpansion und dem Setzen von Variablen innerhalb eines geklammerten Ausdrucks musst du sie nicht mit Prozentzeichen einschließen sondern mit Ausrufezeichen: !Variable!
Gruß fk
By the way, die Auswahl für den User kannst du per choice wesentlich vereinfachen anstatt dafür extra eine FOR-Schleife zu verpulvern...
http://www.robvanderwoude.com/choice.php
http://ss64.com/nt/delayedexpansion.html
Bei DelayedExpansion und dem Setzen von Variablen innerhalb eines geklammerten Ausdrucks musst du sie nicht mit Prozentzeichen einschließen sondern mit Ausrufezeichen: !Variable!
Gruß fk
By the way, die Auswahl für den User kannst du per choice wesentlich vereinfachen anstatt dafür extra eine FOR-Schleife zu verpulvern...
choice /c 1234 /m "Ihre Eingabe"