Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Per Batch Werte Kommagetrennt in eine Variable schreiben

Frage Entwicklung Batch & Shell

Mitglied: MarioSchaper

MarioSchaper (Level 1) - Jetzt verbinden

13.07.2010 um 13:40 Uhr, 5317 Aufrufe, 4 Kommentare

Hallo Zusammen,

ich suche eine Möglichkeit wie ich Werte (in dem Fall Dateinamen) Kommagetrennt in eine Variable schreiben kann.
Hintergrund ist, dass ich versuche mittels Blat eine Mail mit mehrere Dateien im Anhang zu versenden.
Die Dateien (alles PDF) werden bis zu einer bestimmten Zeit in ein Verzeichnis geschrieben. Aus diesem Verzeichnis will ich mittels Batch die Dateinamen auslesen und an Blat übergeben.

bis jetzt habe ich es hinbekommen, die vorhandenen Dateinamen in eine zusätzliche Datei zu schreiben:

01.
for %a in (C:\Temp\*.pdf) do @echo %~nxa >> anhaenge.txt
Den 2. Teil den ich hinbekommen habe (dem Internet sei dank) ist das Mail mit dem Inhalt der anhaenge.txt via Blat abschicken zu lassen:

01.
blat.exe anhaenge.txt -server mailserver.unserefirma.local -t ziel@unserefirma.de -f sender@unserefirma.de -s Rechnung -attach %PDFFILES% 
jetzt müsste ich es irgendwie hinbekommen, dass die Variable %PDFFILES% mit den einzelnen Werten aus anhaenge.txt durch ein Komma getrennt gefüllt wird - nur WIE?
Mitglied: Miyamoto
13.07.2010 um 13:58 Uhr
Hi,
was du machen kannst ist das:
01.
@echo off & setlocal EnableDelayedExpansion 
02.
 
03.
for %%a in (C:\Temp\*.pdf) do ( 
04.
 
05.
SET PDFFILES=!PDFFILES!,%%~nxa 
06.
 
07.
08.
set PDFFILES=%PDFFILES:~1,-1% 
09.
echo %PDFFILES%
Gruß Miyamoto
Bitte warten ..
Mitglied: MarioSchaper
13.07.2010 um 14:19 Uhr
oh man, ich liebe das Internet und seine freiwilligen Helferlein!!!
DANKE

ich habe das ganze noch um set PDFFILES=%PDFFILES: =% ergänzt, dann sind alle Leerzeichen aus der PDFFILES Variable weg

01.
@echo off & setlocal EnableDelayedExpansion  
02.
for %%b in (C:\Temp\*.*) do @echo %%~nxb >> anhaenge.txt 
03.
for %%a in (C:\Temp\*.*) do (  
04.
SET PDFFILES=!PDFFILES!,%%~nxa  
05.
)  
06.
set PDFFILES=%PDFFILES:~1,-1%  
07.
set PDFFILES=%PDFFILES: =%  
08.
 
09.
blat.exe anhaenge.txt -server kermit.firma.local -t ich@firma.de -f info@firma.de -s Rechnung -attach %PDFFILES%
Bitte warten ..
Mitglied: Miyamoto
13.07.2010 um 14:46 Uhr
Hi,
und warum machst du jetzt 2 Schleifen????
Das ganze kannst du doch auch in einer machen und zwar so:
01.
@echo off & setlocal EnableDelayedExpansion  
02.
for %%a in (C:\Temp\*.*) do (  
03.
SET PDFFILES=!PDFFILES!,%%~nxa  
04.
echo %%~nxa >> anhaenge.txt 
05.
)  
06.
set PDFFILES=%PDFFILES:~1,-1%  
07.
set PDFFILES=%PDFFILES: =%  
08.
 
09.
blat.exe anhaenge.txt -server kermit.firma.local -t ich@firma.de -f info@firma.de -s Rechnung -attach %PDFFILES%
Gruß Miyamoto
Bitte warten ..
Mitglied: MarioSchaper
13.07.2010 um 14:50 Uhr
gute, berechtigte Frage ^^
ich würde es einfach mal als - "weil es so auch funktioniert" abstempeln. Aber ich hab das jetzt natürlich bei mir abgeändert!
Danke nochmal
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Größe einer Datei per BATCH in eine TXT schreiben (5)

Frage von marvinpl zum Thema Batch & Shell ...

Ubuntu
gelöst PHP-Version mit Bash in Variable schreiben? (11)

Frage von StefanKittel zum Thema Ubuntu ...

Batch & Shell
gelöst Batch Eingabe in Datei schreiben (2)

Frage von MedicalAd zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell - Werte in Variable durch Schleife erweitern bzw. ändern (5)

Frage von ralfkausk zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
gelöst Benutzer lässt sich nur an einem Clientcomputer anmelden (17)

Frage von Ammann zum Thema Windows Server ...

Vmware
gelöst Wie würdet Ihr eine ESXi Cluster Farm managen? (11)

Frage von AlFalcone zum Thema Vmware ...

Batch & Shell
gelöst Gruppenzugehörigkeit von AD Usern ermitteln - die Perfektion fehlt (11)

Frage von Stefan007 zum Thema Batch & Shell ...