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, 2128 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 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 ...

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

Frage von Marlon1 zum Thema Batch & Shell ...

Batch & Shell
gelöst Einen Teil eines Textpfades aus einer TXT per Batch entfernen!? (3)

Frage von kampen zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (24)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (16)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (16)

Frage von theoberlin zum Thema Windows Server ...