Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата s.i.p.a:
нужно, что бы присылалось только одно письмо со всеми маршрутами в теле и первым маршрутом в теме письма. »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

(
	for /f "usebackq tokens=3-4" %%i in (
		`route.exe print ^| find.exe " 0.0.0.0"`
	) do (
		if not defined sSubject set sSubject=%%i - %%j
		echo %%i - %%j
	)
) | blat.exe - -to user1@tut.by -server 192.168.33.200 -f user2@tut.by -u user2@tut.by -pw user2 -subject "%sSubject%"

endlocal
exit /b 0
Цитата s.i.p.a:
Либо вообще цикл заканчивался после первого найденного маршрута и отправлял письмо с первым найденным маршрутом. »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq tokens=3-4" %%i in (
		`route.exe print ^| find.exe " 0.0.0.0"`
	) do (
		blat.exe - -to user1@tut.by -server 192.168.33.200 -f user2@tut.by -u user2@tut.by -pw user2 -subject "%%i - %%j" -body "%%i - %%j"
		goto :Out
	)

:Out

endlocal
exit /b 0
Не проверялось.

В первом коде вывод от разбора фильтрации группируется и передаётся по конвейеру на stdin blat.exe (посему параметр -body не используется), тема письма формируется из первой отфильтрованной строки разбора.

Во втором коде тупо происходит выход за пределы цикла разбора после первого прохода.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:55, 10-04-2018 | #2