Wie extrahiere ich alles zwischen inkno und dem Leerzeichen ie12345678 im Beispiel-Batch unten und gebe es in eine inkno-Variable ein?Substring-Hilfe in der Batch-Datei
@echo off
Set mystring=test incno12345678 wo5555 locFred Street
Echo "my string=%mystring%"
Echo incno
Echo wo
Echo loc
Die incno 8 bis 11 Zeichen lang sein können, aber zwischen incno und einem Raum in der Zeichenfolge
ich jetzt mit habe Probleme Zuweisen der %% d Variable in die mystring Variable jetzt immer es ist in einer for-Schleife. Kann mir jemand dabei helfen? Siehe unten.
@echo off
SETLOCAL enableDelayedExpansion
color 0B
For /d %%d in ("C:\Users\%Username%\LocalData\*") do (
Echo "Folder = %%d"
Set mystring=%%d
echo "MyString = %mystring%"
pause
REM delete until (including) "incno":
set mystring=%mystring:*incno=%
echo %mystring%
REM delete starting with (including) " ":
set mystring=%mystring: =&rem %
echo "Incident Number = %mystring%"
pause
)
Wie funktioniert 'set mystring =% mystring: = & rem% 'arbeiten? Ich kann das nirgendwo dokumentiert finden? Was macht das '& rem'? – DavidPostill
@DavidPostill - Machen Sie den Ersatz auf Papier und Sie werden sehen. Es fügt einfach einen verketteten REM-Befehl ein, so dass der Rest der Zeichenfolge ignoriert wird. – dbenham
@dbenham Ah, natürlich. Ein weiterer hinterhältiger Trick :) – DavidPostill