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, dassECHO
undSET
akzeptiert es überhaupt nicht, dass Daten in die Pipeline geleitet werden?
Wie kann ich das zum Laufen bringen?