set a=file
if exist "folder\%a%" (
set /p x= < "folder\%a%"
echo %x%
)
Ich habe für eine lange Zeit Batch-Dateien geschrieben, aber ich verstehe es nicht, warum dieser Code funktioniert nicht. Ich erwarte, dass der Code den Inhalt der % a% ausgibt. aber all darauf zurückgibt, ist der Status von ECHO (Echo ist ON)Batch-Input-Umleitungsoperator
das% a% (Datei) enthält eine Zeichenfolge ('Keyword'), die erwartet wird, werden wiederholt, wenn Satz in% x%
ich versuche sogar eine Verlängerung (.txt) zu setzen, aber noch ist es nicht funktioniert
Darf ich Sie fragen, was bedeutet verzögerte Expansion? – kapitanluffy
Wenn% a% enthält! (Beispiel "foo! bar.txt"), dann bricht Ihr Code – Anders
% var% expandiert den Zeilen- oder Klammernblock im Moment des Lesens, bevor irgendein Befehl der Zeile oder des Blocks ausgeführt wird. Die verzögerte Erweiterung muss aktiviert sein und erweitert dann die! Var! wie% var%, aber im Moment kurz bevor man jeden Befehl einer Zeile oder eines Blocks ausführt, auch "set /?" erklärt es – jeb