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

Batch - String abschneiden

Frage Entwicklung Batch & Shell

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

28.02.2013, aktualisiert 11:35 Uhr, 13401 Aufrufe, 12 Kommentare

Hallo,
ich habe einen String, von welchem ich aber nur den hinteren Teil in meiner Variable benötige.

Hier der String: CODE-128:X2012-016001-001

Hiermit ist es kein Problem:

01.
for /F "tokens=* delims='CODE-128:'" %%i in ("%string%") do set string=%%i
Damit erhalte ich: X2012-016001-001.

Allerdings können die Anzahl der Zeichen und auch die Zeichen selbst immer anders sein.

Wie kann ich es machen, dass am Anfang Alles einschließlich des Doppelpunktes verschwindet?

Danke schon mal im Voraus!

Gruß
Torsten
Mitglied: TsukiSan
28.02.2013 um 12:12 Uhr
Wie kann ich es machen, dass am Anfang Alles einschließlich des Doppelpunktes verschwindet?

Eventuell nur den : als Delimeter setzen?

Gruss
Tsuki
Bitte warten ..
Mitglied: goodbytes
28.02.2013 um 12:14 Uhr
Nein, das funktioniert nicht. Die Lösung ist eigentlich viel einfacher.
Einfach nur sagen, dass ich nur den zweiten Teil möchte:

01.
for /F "tokens=2 delims='CODE-128:'" %%i in ("%string%") do set string=%%i
Manchmal kann es doch soooooo einfach sein...

Gruß
Torsten
Bitte warten ..
Mitglied: andimue
28.02.2013, aktualisiert um 12:18 Uhr
Upps, da hab ich wohl zu lange zum schreiben gebraucht




Hallo TorstenB,

also ich würde als delims den : nehmen.
Folgendes funktioniert bei mir:

01.
for /F "tokens=1,* delims=:" %%i in ("%string%") do set string=%%j
Gruß Andi
Bitte warten ..
Mitglied: Pjordorf
28.02.2013 um 13:09 Uhr
Hallo,

Zitat von goodbytes:
Nein, das funktioniert nicht.
Wieso funktioniert dies nicht?

Gruß,
Peter
Bitte warten ..
Mitglied: miniversum
28.02.2013 um 15:27 Uhr
Hallo
Es kann noch einfacher sein:
01.
set string=%string:CODE-128:=%
Bitte warten ..
Mitglied: bastla
01.03.2013 um 00:29 Uhr
... und noch flexibler:
set "string=%string:*:=%"
Grüße
bastla
Bitte warten ..
Mitglied: bastla
01.03.2013 um 00:40 Uhr
Hallo TorstenB!

Für Dein Beispiel oben erhalte ich mit Deinem Ansatz
for /F "tokens=2 delims='CODE-128:'" %%i in ("%string%") do set string=%%i
als Ergebnis "0" (was ja auch klar ist, da in "CODE-128:X2012-016001-001" die Null in "X2012" das zweite Zeichen ist, dass sich von sämtlichen Delimitern (also 'CODE-128:' - die werden nämlich nicht als String, sondern als Einzelzeichen interpretiert) unterscheidet; per "for"-Schleife wäre daher die Variante von andimue zutreffend.

Grüße
bastla
Bitte warten ..
Mitglied: andimue
01.03.2013 um 09:35 Uhr
@bastla:

Chapeau für diese sehr nette Lösung :

set "string=%string:*:=%"

Die bekommt einen Ehrenplatz in meiner Sammlung der besten/interessantesten/kreativsten Code-Schnipsel

Gruß Andi
Bitte warten ..
Mitglied: bastla
01.03.2013 um 17:36 Uhr
Hallo andimue!

Danke für die Blumen ...

Grüße
bastla
Bitte warten ..
Mitglied: goodbytes
04.03.2013 um 09:27 Uhr
Hallo an Alle!

@bastla
ja, stimmt, ich hatte meine endgültige Fassung auch dummerweise reinkopiert:

01.
for /F "tokens=2 delims=:" %%i in ("%string%") do set string=%%j
Damit funktioniert es bei mir bestens.

Vielen Dank an Alle !!!

Gruß
Torsten

PS: Dieser Codeschnipsel von bastla ist übrigens wirklich genial

01.
set "string=%string:*:=%"
Bitte warten ..
Mitglied: dorRicoo
24.11.2016 um 20:36 Uhr
Hallo zusammen!

Die Beiträge sind zwar schon älter, aber der Codeschnipsel

01.
set "string=%string:*:=%"
ist 1. genau das, was ich gebraucht habe um noch heute ins Bett zu kommen.

und 2. genau das, was ich gebraucht habe um diverse Bastellösungen der vergangenen 15 Jahre endgültig zu begraben! *DickerDaumen+*

Das danke für den Schnipsel war mir sogar ne Registrierung bei administrator.de wert.

Lächelnd dorRicoo.
Bitte warten ..
Mitglied: bastla
26.11.2016 um 21:01 Uhr
Hallo dorRicoo und willkommen als Mitglied!

Ich bin zwar nicht mehr so oft hier (an der Reaktionszeit auf Deinen Kommentar leicht festzustellen ), freue mich aber natürlich, wenn ich helfen konnte ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (9)

Frage von clragon zum Thema Batch & Shell ...

C und C++
gelöst Anzahl der Buchstaben in einem String Element Array C++ (3)

Frage von Protected zum Thema C und C ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...