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 - dynamische String Substitution

Frage Entwicklung Batch & Shell

Mitglied: lorus11

lorus11 (Level 1) - Jetzt verbinden

08.09.2010, aktualisiert 17:34 Uhr, 4733 Aufrufe, 3 Kommentare

Hallo Zusammen,

ich versuche gerade eine dynamische String Zerlegung nach dem Schema %string:str1=str2% hinzubekommen.
Wenn str2 eine Variable ist, funktioniert das Ganze auch, allerdings nicht wenn str1 Eine ist.

01.
@echo off 
02.
setlocal enabledelayedexpansion 
03.
 
04.
set string=abcd12345 
05.
set str1=abcd 
06.
set str2=wxyz 
07.
 
08.
set string_1=%string:abcd=!str2!% 
09.
set string_2=%string:!str1!=wxyz% 
10.
set string_3=%string:!str1!=!str2!% 
11.
 
12.
set str


Ausgabe:
string_1 = wxyz12345 --> Funktioniert
string_2 = abcd12345 --> Funktioniert nicht
string_3 = abcd12345 --> Funktioniert nicht


Wo liegt hier der Fehler?



Grüße,

Lorus
Mitglied: bastla
08.09.2010 um 14:46 Uhr
Hallo lorus11!

Eine Antwort auf Deine konkrete Frage habe ich zwar gerade nicht zu bieten, aber:
01.
@echo off & setlocal 
02.
set string=abcd12345 
03.
set str1=abcd 
04.
set str2=wxyz 
05.
 
06.
call set string_1=%%string:abcd=%str2%%% 
07.
call set string_2=%%string:%str1%=wxyz%% 
08.
call set string_3=%%string:%str1%=%str2%%% 
09.
 
10.
set str
Grüße
bastla
Bitte warten ..
Mitglied: lorus11
08.09.2010 um 17:33 Uhr
Super, so funktionierts natürlich auch.

Bin in der Zwischenzeit allerdings auch noch auf eine weitere Lösung gestoßen, die ich nicht vorenthalten möchte.

01.
@echo off 
02.
setlocal enabledelayedexpansion 
03.
 
04.
set string=abcd12345 
05.
set str1=abcd 
06.
set str2=wxyz 
07.
 
08.
set string_1=!string:abcd=%str2%! 
09.
set string_2=!string:%str1%=wxyz! 
10.
set string_3=!string:%str1%=%str2%! 
11.
 
12.
set str
Bitte warten ..
Mitglied: pieh-ejdsch
08.09.2010 um 18:38 Uhr
moin,
eine andere möglichkeit
01.
@echo off 
02.
 
03.
set "string=abcd%12345" 
04.
set "str1=abcd%" 
05.
set "str2=!wxyz" 
06.
 
07.
for /f "tokens=*" %%i in ("%str1%=%str2%") do ( 
08.
	call set "string=%%string:%%i=%%j%%" 
09.
	setlocal enabledelayedexpansion 
10.
	for /f "tokens=*" %%j in ("!string!") do endlocal&echo %%j 
11.
)
Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Visual Studio
gelöst Vb.net raw string in xdocument einfügen (6)

Frage von Herbrich19 zum Thema Visual Studio ...

Visual Studio
gelöst DotNet String Sortierung (5)

Frage von emeriks zum Thema Visual Studio ...

Exchange Server
gelöst Dynamische Verteilergruppe (9)

Frage von justdan zum Thema Exchange Server ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (15)

Frage von takvorian zum Thema Windows Server ...