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, 2386 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Leerzeichen in nur bestimmten Spalten entfernen? (2)

Frage von Komoran12 zum Thema Batch & Shell ...

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

Frage von Marlon1 zum Thema Batch & Shell ...

Batch & Shell
gelöst Sonderzeichen aus einer Variable entfernen? (13)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Ubuntu
gelöst Wie kann man es tun? Alle Zeilen mit 2 und mehr Leerzeichen entfernen (1)

Frage von takitano zum Thema Ubuntu ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (58)

Frage von pjrtvly zum Thema Internet ...

DSL, VDSL
VDSL Signal via PowerLine an Fritzbox - Möglich? (19)

Frage von Seichobob zum Thema DSL, VDSL ...

Windows Server
Benutzer sperrt sich immer wieder im Active Directory Contoller (16)

Frage von Kirdy1301 zum Thema Windows Server ...