Robiąc to w środku test.bat plik:
for %%i in (__src\*.js) do jsmin <"%%i" >"temp\%%~ni%%~xi" "(C) Example"
Spodziewałem się zobaczyć:
D:\Temp>jsmin <"__src\background.js" >"temp\background.js" "(C) Example"
ale widzę to zamiast tego:
D:\Temp>jsmin "(C) Example" 0<"__src\background.js" 1>"temp\background.js"
Dlaczego ten zły porządek i < zastąpione przez 0< , > zastąpione przez 1>?
Jak zamiast tego uzyskać normalne zamówienie? (jak chciał jsmin )
jsmin <fulljslint.js >jslint.js "(c)2002 Douglas Crockford"
for %%i in (__src\*.js) do echo jsmin ^<"%%i" ^>"temp\%%~ni%%~xi" "(C) Example" a zamówienie jest poprawne bez poprzedzonych cyfr. W przeciwnym razie może być konieczne setlocal enabledelayedexpasion i ustaw podstawione wartości jako zmienne, a następnie umieść te zmienne w poleceniach za pomocą !varnames! może tak. Jeśli jednak po prostu odbijasz echo, tak właśnie to rozwiązałem, dodając symbole karetki, ale myślę, że próbujesz przekierować za pomocą komendy jsmin i nie mam tego do przetestowania, aby potwierdzić to w tej chwili.
for %%i in (__src\*.js) do jsmin ^<"%%i" ^>"temp\%%~ni%%~xi" "(C) Example" ale to nie działa
0<=<i1>=>). Jest to po prostu sposób, w jaki polecenia są powtarzane po rozwinięciu.