Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Двойное echo в for (http://forum.oszone.net/showthread.php?t=326161)

dasgespenst 21-04-2017 14:51 2731233

Двойное echo в for
 
Почему двойное echo вылазит?

запускаю как "c:\tools\cdi\smart.cmd Model 3 0"

Код:

@echo off

SETLOCAL DisableDelayedExpansion

SETLOCAL

find "%1" %systemdrive%\tools\cdi\Diskinfo.txt | for /f "tokens=%2 delims=;" %%f in ('findstr /R "^%3"') do echo %%f

ENDLOCAL

Выходит

Код:

с:\tools\cdi\> echo "WDC 100500"
WDC 100500


Elven 21-04-2017 16:12 2731250

Код:

@echo off

SETLOCAL DisableDelayedExpansion

SETLOCAL

find "%1" %systemdrive%\tools\cdi\Diskinfo.txt | for /f "tokens=%2 delims=;" %%f in ('findstr /R "^%3"') do @echo %%f

ENDLOCAL


Iska 21-04-2017 19:22 2731298

dasgespenst, зачем Вам два setlocal?

alpap 21-04-2017 19:52 2731304

как по мне так понятнее (хотя не всем пожалуй), но главное удобнее, как-то сразу видно откуда и куда:
Код:

@echo off
SETLOCAL DisableDelayedExpansion
 <"%systemdrive%\tools\cdi\Diskinfo.txt">"new.txt" (for /f "tokens=%2 delims=;" %%f in ('find "%1"^|findstr /r "^%3"') do @echo %%f)
ENDLOCAL
pause



Время: 22:43.

Время: 22:43.
© OSzone.net 2001-