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 String zerlegen in Batch

Mitglied: Escobar

Escobar (Level 1) - Jetzt verbinden

21.09.2006, aktualisiert 17:45 Uhr, 18496 Aufrufe, 4 Kommentare

hallo,

ich habe eine datei, in der immer zwei aufeinanderfolgende verzeichnisse bzw. pfade stehen, etwa so:

da das mit der formatierung hier nicht geklappt hat, hab ich mal ein bsp-file hier hocgeladen (125 Byte)

hierbei koennen beide pfade, leerzeichen enthalten. bisher stehen die leerzeichen enthaltenden pfade in anfuehrungszeichen, das muss aber nicht so sein.

wie kann ich nun die beiden pfade aus dem textfile herausziehen?

mit
01.
for /F "tokens=1 delims=" %%i in (%iniFile%) DO (set Zeile=%%i & call:ZeileBearbeiten)
hole ich die komplette zeile raus.
eigentlich alle stringoperationen versagen, wenn ein anfuehrunggstrich in dieser zeile drin ist, deshalb wollte ich es erstmal weglassen. um nun die beiden pfade zu trennen, muesste ich eigentlich nur herausfinden, wie lange die zeile ist, und an welcher stelle sich der 2. doppelpunkt befindet. dies gestaltet sich leider auch etwas schwierig, da ich leider schon nicht weiss, wie lange die zeile ist. auch kann ich die zeile nicht durchgehen, dennw enn ich folgende befehle ausfuehre:
01.
:ZeileBearbeiten 
02.
for /L %%Z in (0, 1, 3) do (call:Copy %%Z) 
03.
goto:eof 
04.
 
05.
:Copy 
06.
set Cursor=%1 
07.
echo %Zeile:~%Cursor%,1% 
08.
goto:eof
dann rafft die cmd nicht, dass er %Cursor% ersetzen soll. Ich mach da jetzt ewig dran rum, mir faellt aber wirklich nix mehr ein. habt ihr da ne idee?

Esco
Mitglied: Biber
21.09.2006 um 15:12 Uhr
Moin escobar,
wenn Du als Delimiter in Deiner *.ini-Datei ein Semikolon (oder ein "#" oder oder..) nimmst, dann hast Du kein Rumgeeiere mehr.
Und es ist auch beliebig, ob die einzelnen Quell/Ziel-Pfade in Anführungszeichen stehen oder nicht.

Demo am CMD-Prompt; "@echo copy" statt dem eigentlichen Befehl "copy"
01.
>type ggh.ini 
02.
D:\exage\;G:\symber\exage\  
03.
D:\GG VII\;G:\symber\GG_VII\  
04.
"D:\GG VI\";G:\symber\GG_VI\  
05.
C:\boot.ini;G:\symber\  
06.
 
07.
>for /f "delims=; tokens=1-2" %i in (ggh.ini)  do @echo copy "%~i" "%~j" 
08.
copy "D:\exage\" "G:\symber\exage\" 
09.
copy "D:\GG VII\" "G:\symber\GG_VII\" 
10.
copy "D:\GG VI\" "G:\symber\GG_VI\" 
11.
copy "C:\boot.ini" "G:\symber\"
## bzw. als Batch-Oneliner
01.
:: --- snipp CopyGghIni.bat 
02.
@for /f "delims=; tokens=1-2" %i in (ggh.ini)  do @echo copy "%~i" "%~j" 
03.
::----- snapp CopygghIni.bat
Gruß
Biber
Bitte warten ..
Mitglied: Escobar
21.09.2006 um 15:26 Uhr
hallo,

danke erstmal fuer die antwort. ich bin mir bewusst, dass das auch einfacher geht. allerdings hab' ich schonmal einen gesehen, der das so umgesetzt hat (leider hab ich nun keinen zugriff mehr auf die batch), deshalb wuerde ich das nu gern auch so machen. ich eier ja auch shcon ne gute weile rum, komm' aber auf kene loesung...

Esco
Bitte warten ..
Mitglied: Escobar
21.09.2006 um 16:15 Uhr
so, ich habs, dein delims hat mich drauf gebracht: ich benutze den doppelpunkt als delimiter und bastel mir dann das gelumpe aus den teilstrings wieder zusammen:
01.
for /f "delims=: tokens=1-3" %%i in (ggh.ini)  do (set Ueberg1=%%i& set Ueberg2=%%j& set Ueberg3=%%k& call:[ZeileBearbeiten]) 
02.
pause 
03.
goto:eof 
04.
 
05.
:[ZeileBearbeiten] 
06.
REM quelle ist der linke pfad, ziel der rechte 
07.
set Quelle=%Ueberg1%:%Ueberg2% 
08.
Set Quelle=%Quelle:~0,-2% 
09.
echo Quelle: %Quelle% 
10.
Set Ziel=%Ueberg2:~-1% 
11.
Set Ziel=%Ziel%:%Ueberg3% 
12.
echo Ziel: %Ziel% 
13.
goto:eof
Esco
Bitte warten ..
Mitglied: miniversum
21.09.2006 um 17:45 Uhr
Vorschlag, wenn du schon manchmal Pfadangaben mit " hast und manchmal ohne dann prüf das doch ab und vereinheitliche das, ist vielleicht besser zum weiterverarbeiten, oder?

miniversum
Bitte warten ..
Ähnliche Inhalte
PHP
String zerlegen an verschieden Stellen
Frage von ppmk22PHP3 Kommentare

ich noch mal Ich habe verschieden Strings die immer 200 Zeichen lang sind. Diesen möchte ich an bestimmten stellen ...

Batch & Shell
String zerlegen an letzem Backslash
gelöst Frage von fuguBatch & Shell4 Kommentare

Heyho ihr Supercoder ;-) Ich möchte für ein Backup-Skript eine Textdatei mit den Backup-Quellen. Die Daten einzulesen ist leicht. ...

Sonstige Systeme
Batch Dateinamen zerlegen
Frage von MummelSonstige Systeme5 Kommentare

Hallo Liebe Leute, hoffe mir kann einer helfen. Ich soll eine Batch schreiben, die eine abfrage macht. (Soll ein ...

Batch & Shell

PowerShell String zerlegen in Array, DataTable, Hashtable speichern

gelöst Frage von derhoeppiBatch & Shell7 Kommentare

Guten Morgen, leider habe wieder ein Thema beim zerlegen eines Strings. Folgendes Problem: Die Rückgabe eines Admintools liefert mir ...

Neue Wissensbeiträge
Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 13 StundenHumor (lol)1 Kommentar

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 15 StundenExchange Server6 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 1 TagErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 1 TagVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Heiß diskutierte Inhalte
Windows Server
Domäne einsilbig mit nur einem Namen benannt - sowie AD und MX auf einer VM Kardinalsfehler?
Frage von TomTestWindows Server48 Kommentare

Hallo liebe Freunde gepflegter Probleme, seit kurzem soll ich eine Domäne verwalten die zuvor von einem IT-Dienstleister erstellt und ...

Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

Windows Server
Windows Server per Web auf Daten zugreifen und verwalten
Frage von matze2090Windows Server16 Kommentare

Hallo, ich würde gerne von außen auf meinem Windows Server zugreifen um auf meine Daten zu verwalten. Meine frage ...

DNS
Gibt es eine Art DNS Proxy?
Frage von icepietDNS16 Kommentare

Hallo Nerds, Ich würde gerne folgendes machen: ts.domain.de:3389 soll auf 1.2.3.4:3389 auflösen ts2.domain.de:3389 soll auf 1.2.3.4:3390 auflösen Gibt es ...