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

gelöst Leerzeichen nach jedem Zeichen einer Variable einfügen

Mitglied: Elephantman

Elephantman (Level 1) - Jetzt verbinden

08.12.2007, aktualisiert 22:30 Uhr, 5848 Aufrufe, 2 Kommentare

Hallo zusammen,

habe mit bat Dateien bis jetzt sehr wenig gearbeitet, deswegen benötige ich Eure Hilfe...
Folgendes Problem.

Habe eine Variable, in der eine Telefonnummer gespeichert ist. Diese erhalte ich ohne jede Formate.
Hier ein paar Beispiele:
012345678
0160123456789
+4312344568

Nun bräuchte ich die Telefonnummern folgendermaßen:
0 1 2 3 4 5 6 7 8
0 1 6 0 1 2 3 4 5 6 7 8 9
+ 4 3 1 2 3 4 4 5 6 8

Kann mir jemand helfen?
Besten Dank vorab!

Gruß
Christian
Mitglied: bastla
08.12.2007 um 21:10 Uhr
Hallo Elephantman und willkommen im Forum!

Soferne in Deinen Telefonnummern kein "!" vorkommt, sollte es so gehen:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "TelNr=+4312344568" 
03.
 
04.
if not defined TelNr echo Keine Nummer vorhanden & goto :eof 
05.
 
06.
set /a P=0 
07.
set TelNrNeu= 
08.
 
09.
:Loop 
10.
set Z=!TelNr:~%P%,1! 
11.
if "%Z%"=="" goto :Fertig 
12.
set "TelNrNeu=%TelNrNeu%%Z% " 
13.
set /a P+=1 
14.
goto :Loop 
15.
 
16.
:Fertig 
17.
set "TelNrNeu=%TelNrNeu:~0,-1%" 
18.
echo %TelNrNeu% 
19.
goto :eof
Da nach jedem einzelnen (also auch dem letzten) Zeichen der Telefonnummer ein Leerzeichen eingefügt wird, sorgt die Zeile nach dem ":Fertig" dafür, dass das überzählige Leerzeichen am Ende entfernt wird.

Wegen der Verwendung von "delayedexpansion" gilt ein "!" als Sonderzeichen (= anstelle von "%" als Begrenzungszeichen für die "verzögert aufzulösende" Variable) und darf daher nicht Inhalt der Telefonnummer sein.

Grüße
bastla

P.S.: Mit "sed" (Download zB hier) ginge das natürlich eleganter, etwa:
01.
for /f "delims=" %%i in ('echo %TelNr%^|sed "s/./& /g"') do set "TelNrNeu=%%i" 
02.
set "TelNrNeu=%TelNrNeu:~0,-1%"
Bitte warten ..
Mitglied: Elephantman
08.12.2007 um 22:30 Uhr
Servus bastla,

na super! Auf so was wäre ich ja in 100 Jahren nicht gekommen^^
Habe mich für die sed Lösung entschieden, ist a kürzer und hat sofort funktioniert.

Vielen, Vielen Dank!

Gruß
Christian
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

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

Leerzeichen aus einer Variable entfernen

gelöst Frage von CoaxBatch & Shell8 Kommentare

Moinsen, ich versuche gerade ein Leerzeichen aus einer Variable zu entfernen und es gelingt mir einfach nicht, ich kann ...

Batch & Shell

BATCH Dateinamen auslesen und an variabler Stelle x Zeichen auschneiden und am Ende wieder einfügen

gelöst Frage von Marco78Batch & Shell6 Kommentare

Ich habe folgendes Problem. Ich möchte Dateinamen um einen bestimmten Teil ändern damit ich diese sortieren kann. Ist Zustand ...

Neue Wissensbeiträge
Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 4 StundenHardware

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Sicherheit

Oracle gibt kritische Updates für diverse Produkte frei (16. Oktober 2018)

Information von kgborn vor 15 StundenSicherheit

Oracle hat zum 16. Oktober 2018 eine ganze Reihe an kritischen Updates für seine Produkte freigegeben. Eine Kurzübersicht mit ...

Windows 10
FYI: Fristen beim Windows 10 Downgrade-Recht
Information von kgborn vor 15 StundenWindows 10

Möglicherweise ist das bei euch bekannt - ich habe es gerade aus einem Newsletter eines OEMs herausgefischt. Beim Downgrade-Recht ...

CMS
Freie Wähler Bayern MySQL PW online
Information von sabines vor 18 StundenCMS6 Kommentare

Die Typo3 Installation der Freien Wähler Bayern scheint wohl längere Zeit nicht mehr angefasst und/oder fehlkonfiguriert zu sein. Nach ...

Heiß diskutierte Inhalte
Windows 10
Sysprep Fehler im Log kann nicht starten
Frage von grillinator95Windows 1021 Kommentare

Hallo, kann leider SYSPREP nicht mehr starten, Win10 64bit. Logfile sagt folgendes: 2018-10-17 13:44:56, Info SYSPRP 2018-10-17 13:44:56, Info ...

Internet
Ist diese URL denkbar (Syntax)?
gelöst Frage von departure69Internet17 Kommentare

Hallo. Der Sohn eines Arbeitskollegen hat im Gymnasium EDV-Unterricht. Leider hat er in der letzten Klassenarbeit einen Fünfer geschrieben. ...

Exchange Server
Outlook Anywhere - Anmeldefenster muss mit Domain gefüllt werden
Frage von leon123Exchange Server15 Kommentare

Hallo zusammen, ich habe relativ erfolgreich einen Exchange 2016 aufgesetzt, sowie ein SAN-Zertifikat eingespielt und Outlook Anywhere aktiviert. Beim ...

Debian
Linux debian 9 Installation
Frage von Green14Debian15 Kommentare

Hallo zusammen, ich habe mich ein wenig mit Debian auseinandergesetzt und möchte mir eine Standard-Installation als Grundlage für andere ...