CMD: Weiterleiten von ECHO an SET / Erweitern von Variablen in Variablen

%x:~12,3% Gibt 3 Zeichen ab dem 12. Zeichen in der Variablen x zurück. Was ich versucht habe zu erreichen, ist die Verwendung von Variablen anstelle von12 und3. Sagen wiry=12 undz=3. Dann können Sie nicht @ verwend%x:~%y%,%z%%, weil CMD @ denken wi%x:~% ist eine Variable.

Was Sie tun können, istset var=%%x:~%y%,%z%%%. Dies erweitert die inneren Variableny undz, aber nichtx, so dass der Wert vonvar ist%x:~12,3%. Die verbleibende Aufgabe besteht nun darin, @ endlich zu erweiter%x:~12,3%. Ich habe versucht, @ anzuhängecho am Anfang so dassvar=echo %x:~12,3%. Wenn Sie sich in der Befehlszeile oder in einer Batch-Datei befinden, verwenden Sie jetzt%var%, dies sollte den Befehl echo ausführen und den nachfolgenden Ausdruck erweitern, aber nicht, stattdessenecho %x:~12,3% ergibt einfach%x:~12,3% wird nicht erweitert auf dem Bildschirm ausgedruckt.

Ich dachte, dass vielleicht, wenn Sie var auf @ setz%x:~12,3%, dann wiederhole es und leite die Ausgabe in ein anderesECHO Befehl oderSET Befehl, dass der Ausdruck erweitert werden würde, aber es scheint, dassECHOundSET akzeptiert es überhaupt nicht, dass Daten in die Pipeline geleitet werden?

Wie kann ich das zum Laufen bringen?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage