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

BAT - Leerzeichen in Variable entfernen

Frage Entwicklung Batch & Shell

Mitglied: hoffi3d

hoffi3d (Level 1) - Jetzt verbinden

17.04.2014 um 14:24 Uhr, 1958 Aufrufe, 5 Kommentare

Ich mal wieder.

Ich lese gerade einige Dateien aus einem Verzeichniss aus und schreibe diese in eine Variable, das passt soweit=>

01.
dir %versandordner% /B > %temp% 
02.
 
03.
for /f %%x in (%temp%) do set anhang=!anhang!,%pfad%%%x  
04.
 
05.
Pause 
06.
set anhang=%anhang:~1% 
07.
echo %Anhang% 
08.
 
09.
cd %pfad% 
10.
echo dir 
11.
D:\sicherung\blat.exe -body "Folgende Dateien befinden sich im Anhang %Anhang%"   -server %server% -to %empfaenger% -f %sender% -s "Controllingauswertungen vom %date% um %time%" -attach "%Anhang%" >> %mail%


Meine Frage ist, wie kann ich in der Variable Anhang, Leerzeichen löschen?
Ich habe dort die verschiedene Dateien drin, die leider immer Leerzeichen enthalten => datei1 ,datei2 ,datei3 !
blat.exe erkennt leider die Dateien nicht mehr sobald hier Leerzeichen dazwischen sind.

Gibt es eine Variante die die Leerzeichen entfernt???
Mitglied: andimue
17.04.2014 um 14:48 Uhr
Servus hoffi3d,

das kannst du mit SET machen indem du Blanks durch nichts ersetzts:

set "anhang=%anhang: =%"

Gruß
Andi
Bitte warten ..
Mitglied: WinCobold
17.04.2014 um 15:49 Uhr
Hallo Andi,

ich kenne Blat nicht, aber ich kann ich mir nicht vorstellen, dass Blat dann mit den verstümmelten Dateinamen etwas anfangen kann.

Ich vermute eher, dass du deine Dateinamen einzeln in Anführungszeichen schreiben musst, damit sie erkannt werden, z. B. so:

01.
for /f %%x in (%temp%) do set anhang=!anhang!,"%pfad%%%x"
Die Anführungszeichen nach dem -attach müssen dann vermutlich weg.

Gruß vom
WinCobold
Bitte warten ..
Mitglied: Endoro
18.04.2014 um 19:46 Uhr
Hey, ersetz Zeile 3 so:
01.
for /f %%x in (%temp%) do set "anhang=!anhang!,%pfad%%%x"
Gruss, Endoro.
Bitte warten ..
Mitglied: andimue
24.04.2014 um 14:01 Uhr
Servus WinCobold & Endoro,

ihr habt bestimmt Recht, was die Lösung angeht.
Ich hab nur das hier gelesen: "Meine Frage ist, wie kann ich in der Variable Anhang, Leerzeichen löschen?"

Deshalb meine Antwort


Wobei bei mir noch folgendes passiert: "dir %versandordner% /B > %temp% " <-- es kommt unter XP die Fehlermeldung "Zugriff verweigert"


Gruss Andi
Bitte warten ..
Mitglied: hoffi3d
25.04.2014 um 07:22 Uhr
Hallo,

vielen Dank an alle, es läuft ;)
Habe mich fürs Leerzeichen entfernen entschieden!

Danke euch
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Batch & Shell
gelöst Leerzeichen per Batch entfernen vor der Weiterbearbeitung (3)

Frage von daHartl zum Thema Batch & Shell ...

Batch & Shell
gelöst Leerzeichen wird nicht in Variable geschrieben (1)

Frage von Saschaaaaa zum Thema Batch & Shell ...

JavaScript
AngularJS Variable über Input in Funktion ausführen

Frage von badkilla zum Thema JavaScript ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (15)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...