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, 4731 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
Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Update
gelöst MS: Update-Server-Adressen OHNE Wildcards (17)

Frage von mrserious73 zum Thema Windows Update ...

Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...