grundsätzlich verwende ich nur dieses Stück, um eine Zeichenfolge in meinem var zu ersetzen, aber ich kann verschachtelte Verzögerung Erweiterung nicht richtig funktionieren. Ist das überhaupt möglich?Batch, ersetzen Sie eine Verzögerung Expansion String mit Verzögerung Expansion Parameter
set replace=!replace:!search!=!replaceVal!!
Ich weiß was passiert, wenn es ausgeführt wird. Es stoppt nach dem ersten vollständigen Satz, der set replace=!replace:!
wäre, und dann versucht es, den letzten Teil auszuführen, aber gibt es eine Möglichkeit, ihnen zu entkommen, so wird es mein Ergebnis richtig bekommen?
Das Problem ist meine Suche und Ersetzung Werte basieren auf Wert, der von der Skriptausführung erhalten werden. Die eingestellten Befehle sind in einem Block. – Matthew
Also? Das Beispiel zeigt, dass die Werte für 'search',' replaceval' und 'replace' in einem Block gesetzt sind. Beachten Sie, dass mit dem ersten 'set replace' (der den Wert jeder Variablen anzeigt, die' replace' startet) die Werte weder 'aaa' noch' jjj' sind. Sie wurden durch im Block zugewiesene Werte ersetzt. Die 'After'-Situation zeigt nach dem Ersetzen, noch immer kein' aaa' oder 'jjj' in Sicht, und der Wert, der innerhalb des Blocks' xxxbbbyyybbbhhh' zugewiesen wurde, wurde der innerhalb des Blocks 'bbb' zugewiesenen Zeichenfolge durch das ersetzte replaceval ersetzt innerhalb des Blocks 'kkk'. – Magoo