Prozent Variable mit Leerzeichen übergeben
Aufruf durch call trennt bei leerzeichen ab
Hi Leute,
Ich muß in diversen Batchroutinen automatisiert Emails versenden. Dazu habe ich gbmail.exe ausgewählt und eine bat geschrieben die sich email_send.bat nennt:
Das Mail möchte ich dann aus vielen anderen Batchdateien verschicken die ca. so aussehen:
%1 soll die Zieladresse enthalten
%2 soll als Absender die aufgerufene Batch Datei sein und
%3 ein beliebiger Text
Funktioniert alles soweit gut, aber der Parameter %3 wird nicht komplett übergeben. Egal ob ich ihn in "" schreibe oder nicht, in meinem Beispiel oben kommt in der Variable %3 nur "Text" an!
Hat jemand einen Tip wie ich den gesamten Text in " in die %3 reinbekomme?
Hi Leute,
Ich muß in diversen Batchroutinen automatisiert Emails versenden. Dazu habe ich gbmail.exe ausgewählt und eine bat geschrieben die sich email_send.bat nennt:
if %1!==! goto fehler
if %2!==! goto fehler
if %3!==! goto fehler
gbmail -to %1 -h smtp.sendserver.com -from %2@test.at -s - %3
goto end
:fehler
echo Sende_mail wurdemit falchen Parametern aufgerufen!
goto end
:end
Das Mail möchte ich dann aus vielen anderen Batchdateien verschicken die ca. so aussehen:
sende_mail ziel@adresse.at %~n0 "Text der angehängt werden soll"
%1 soll die Zieladresse enthalten
%2 soll als Absender die aufgerufene Batch Datei sein und
%3 ein beliebiger Text
Funktioniert alles soweit gut, aber der Parameter %3 wird nicht komplett übergeben. Egal ob ich ihn in "" schreibe oder nicht, in meinem Beispiel oben kommt in der Variable %3 nur "Text" an!
Hat jemand einen Tip wie ich den gesamten Text in " in die %3 reinbekomme?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 74804
Url: https://administrator.de/contentid/74804
Ausgedruckt am: 26.11.2024 um 12:11 Uhr
2 Kommentare
Neuester Kommentar
Moin pbelcl,
kann ich weder optisch noch mit einem Test-Batch nachvollziehen.
Ausgabe:
Selbes Ergebnis, wenn ich "Call %temp%\mailtest ...." aufrufe.
Was machst Du anders?
Grüße
Biber
kann ich weder optisch noch mit einem Test-Batch nachvollziehen.
::---%temp%\mailtest.bat
@echo off
if "%~1"=="" goto fehler
if "%~2"=="" goto fehler
if "%~3"=="" goto fehler
echo gbmail -to 1[%1] -h smtp.sendserver.com -from 2[%2]@test.at -s -3[%3]
goto :eof
:fehler
echo %~n0 wurde mit falschen Parametern aufgerufen!
Ausgabe:
>%temp%\mailtest eins zwei "und das soll drei sein"
gbmail -to 1[eins] -h smtp.sendserver.com -from 2[zwei]@test.at -s -3["und das soll drei sein"]
(= 9:07:14 D:\temp=)
>%temp%\mailtest eins zwei
mailtest wurde mit falschen Parametern aufgerufen
Was machst Du anders?
Grüße
Biber