(Wyjaśnienie bardziej szczegółowe można znaleźć w zarchiwizowanym artykule bazy wiedzy Microsoft ).
Trzy rzeczy, które należy wiedzieć:
- Procent znak jest używany w plikach wsadowych do reprezentowania parametry wiersza poleceń:
%1
, %2
...
Dwa znaki procentu z dowolnymi znakami między nimi są interpretowane jako zmienna:
echo %myvar%
- Dwa znaki procentu bez niczego pomiędzy (w pliku wsadowym) są traktowane jak pojedynczy znak procentu w poleceniu (nie w pliku wsadowym):
%%f
Dlaczego tak jest?
Na przykład, jeśli wykonamy (uproszczoną) linię poleceń
FOR /f %f in ('dir /b .') DO somecommand %f
w pliku wsadowym reguła 2 będzie próbowała zinterpretować
%f in ('dir /b .') DO somecommand %
jako zmienna. Aby temu zapobiec, musisz zastosować zasadę 3 i uciec %
z sekundy %
:
FOR /f %%f in ('dir /b .') DO somecommand %%f