1 Pluspunkt 0 Minuspunkte

Wenn ich diese Funktion mit einem String aufrufe der Leerzeichen beinhaltet wird jedes Wort als eigener Parameter übergeben.

@echo off
set str=Hallo Welt
call :myFunction %str%
goto :end

:myFunction
echo Der Parameter ist: %1
exit /b

:end

Wie kann ich den ganzen Inhalt in einem Parameter als String übergeben?

bezieht sich auf eine Antwort auf: Batch Funktion mit Parameter
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Du kannst den Parameter in Anführungszeichen setzen und diese automatisch entfernen indem du statt "%1" den Parameter "%~1" verwendest um auf die Variable zuzugreifen.

@echo off
set str=Hallo Welt
call :myFunction "%str%"
goto :end

:myFunction
echo Der Parameter ist: %~1
exit /b

:end
von (786 Punkte)  
0 Pluspunkte 0 Minuspunkte

Du musst den String mit Quotes übergeben.

set str=Hallo Welt
call :myFunction "%str%"

von