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, 4718 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 ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

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

Frage von cberndt zum Thema Batch & Shell ...

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

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 ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...