Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Batch & Shell

Prozent Variable mit Leerzeichen übergeben

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

29.11.2007, aktualisiert 02.12.2007, 7253 Aufrufe, 2 Kommentare

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:

01.
if %1!==! goto fehler 
02.
if %2!==! goto fehler 
03.
if %3!==! goto fehler 
04.
 
05.
gbmail -to %1 -h smtp.sendserver.com -from %2@test.at -s - %3 
06.
goto end 
07.
 
08.
:fehler 
09.
echo Sende_mail wurdemit falchen Parametern aufgerufen! 
10.
goto end 
11.
 
12.
:end
Das Mail möchte ich dann aus vielen anderen Batchdateien verschicken die ca. so aussehen:

01.
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?
Mitglied: Biber
30.11.2007 um 09:09 Uhr
Moin pbelcl,

kann ich weder optisch noch mit einem Test-Batch nachvollziehen.
01.
::---%temp%\mailtest.bat 
02.
@echo off 
03.
if "%~1"=="" goto fehler 
04.
if "%~2"=="" goto fehler 
05.
if "%~3"=="" goto fehler 
06.
 
07.
echo gbmail -to 1[%1] -h smtp.sendserver.com -from 2[%2]@test.at -s -3[%3] 
08.
goto :eof 
09.
 
10.
:fehler 
11.
echo %~n0 wurde mit falschen Parametern aufgerufen!
Ausgabe:
01.
>%temp%\mailtest eins zwei "und das soll drei sein" 
02.
gbmail -to 1[eins] -h smtp.sendserver.com -from 2[zwei]@test.at -s -3["und das soll drei sein"] 
03.
 
04.
(= 9:07:14  D:\temp=) 
05.
>%temp%\mailtest eins zwei 
06.
mailtest wurde mit falschen Parametern aufgerufen
Selbes Ergebnis, wenn ich "Call %temp%\mailtest ...." aufrufe.

Was machst Du anders?

Grüße
Biber
Bitte warten ..
Mitglied: pbelcl
02.12.2007 um 17:38 Uhr
Ich hab jetzt mal die Batch Dateien vereinfacht, damit es etwas übersichtlicher wird:

Ich habe ein aufruf Batchfile wo nur eine Zeile drinnsteht:
01.
sende_mail user@domaene.at %~n0 "Text der angehängt werden soll"
und dann das "sende_mail.bat" batch


01.
@echo off 
02.
if %1!==! goto end 
03.
if %2!==! goto end 
04.
if %3!==! goto end 
05.
 
06.
gbmail -to %1 -h mailserver.at -from %2@domain.at -s "Bemerkung lautet - %3" 
07.
goto end 
08.
 
09.
:end
Tja, was mache ich anders....
Ehrlich gesagt keine Ahnung?
Ich weiß nur wenn ich in meinem Aufruf Batch
01.
sende_mail user@domaene.at %~n0 "Text_der_angehängt_werden_soll"
eingebe dann klappts, eh klar ...

Aber auch wenn ich in EINEM Batch (ohne CALL) mache:
01.
gbmail -to user@domaene.at-h mailserver.at -from %~n0@domain.at -s "Bemerkung lautet - Text der angehängt werden soll"
... klappt es OBWOHL am Ende Leerzeichen drin sind.
Und das verstehe ich nun nicht ...
Ist vielleicht so eine Geschichte mit den Anführungszeichen oder so?

Man kann das natürlich auch in einer Zeile abhandeln, ich wollte nur eine einheitliche "Mailsende Batch" für unterschiedliche Ziele haben. Ist aber nicht so wichtig ......
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Leerzeichen wird nicht in Variable geschrieben
gelöst Frage von SaschaaaaaBatch & Shell1 Kommentar

Hallo Leute, Ich habe diese Zeile: Und als Ausgabe dann: "C:\Users\Ich\extrac" anstatt den vollen Pfad aller Dateien in diesem ...

Batch & Shell
BAT - Leerzeichen in Variable entfernen
gelöst Frage von hoffi3dBatch & Shell5 Kommentare

Ich mal wieder. Ich lese gerade einige Dateien aus einem Verzeichniss aus und schreibe diese in eine Variable, das ...

Batch & Shell
Batch Variable setzten mit Leerzeichen
gelöst Frage von Marlon1Batch & Shell3 Kommentare

Hallo :) Ich würde gerne das man mit "set /p code= " 2 Wörter in die Variable "code" setzen ...

Batch & Shell
CMD-Ergebnis in Variable speichern und diese Variable dann andere Batchdatei übergeben
Frage von torilloBatch & Shell6 Kommentare

Hallo Forum, ich habe ein Problem mit der Übergabe einer Variable von einer in eine andere Batchdatei und würde ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 43 MinutenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 7 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 12 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...