So habe ich diesen Code zur Ausgabe der Dateigröße einer Datei, dann die Datei ersetzen und die Größe klicken Sie hier:Warum funktioniert der folgende Stapelcode nicht, wenn er in die IF-Anweisung eingefügt wird?
FOR %%A IN (%userprofile%\remove.me) DO (
set size=%%~zA
)
pause
echo before:%size%
copy %userprofile%\copy.me %userprofile%\remove.me
pause
FOR %%B IN (%userprofile%\remove.me) DO (
set size2=%%~zB
)
pause
echo after:%size2%
pause
exit
Es funktioniert völlig in Ordnung, aber wenn ich versuche, wenn die remove.me Datei zu überprüfen vorhanden es wird nicht geben die Dateigrößen vor der Ausführung des Codes:
if EXIST %userprofile%\remove.me (
FOR %%A IN (%userprofile%\remove.me) DO (
set size=%%~zA
)
pause
echo before:%size%
copy %userprofile%\copy.me %userprofile%\remove.me
pause
FOR %%B IN (%userprofile%\remove.me) DO (
set size2=%%~zB
)
pause
echo after:%size2%
pause
exit
)
es wird nur sagen,
vor:
nach:
ohne die Dateigrößen. Wenn ich versuche, die Klammern innerhalb des Codes zu entfernen, der von der if-Anweisung ausgeführt wird, wird nur zurückgegeben, dass (C: \ Users \ Myaccountname \ remove.me) nicht der Syntax folgt.
Ich kann nicht herausfinden, warum das passiert und wie das zu beheben ist. Verurteile mich nicht, ich bin neu zu Chargen .-.
versuchen, mit 'wenn EXIST "% userprofile% \ remove.me"' und 'FOR %% A IN ("% userprofile % \ remove.me ")' – npocmaka
@npocmaka nichts geändert:/ – Temm
Ooh brauchen Sie verzögerte Erweiterung – npocmaka