Niedawno zawarte wiersz podobny do tego w plik cmd:Jaka jest różnica między% i %% w pliku cmd?
for /f %%f in ('dir /b .\directory\*.sql') DO sqlcmd -b -o ".\directory\output\%%f.txt" -i ".\directory\%%f"
% Początkowo używałem tylko f, i to działa dobrze, gdy uruchamiane z linii poleceń, ale nie wtedy, gdy prowadzony przez plik . Po przełączeniu na %% f działało w pliku. Zastanawiam się, jaka jest różnica.
Czy istnieje wytłumaczenie dlaczego mogę uciec z użyciem tylko jeden znak procent w pętli for, wykonywane bezpośrednio z wiersza poleceń, a nie z pliku wsadowego? Wiem o dziedzictwie DOS, ale ** możemy ** używać zmiennych z linii poleceń. –
Upewnij się także, że zmienna jest pojedynczym znakiem. – jiggunjer