powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Windows [игнор отключен] [закрыт для гостей] / Вопрос к знатокам cmd
21 сообщений из 21, страница 1 из 1
Вопрос к знатокам cmd
    #40050238
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно запустить несколько задач в bat-файле в фоновом режиме.
Когда-то давно я делал такой bat-файл и он работал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
@echo off

verify other 2>nul
setlocal enableextensions
if ERRORLEVEL 1 (
	echo failed
	goto :EOF
)

...

call :tool_ping 8.8.8.8 &
call :tool_trace 8.8.8.8 &

goto :EOF

:tool_ping
setlocal
set _host=%1
ping -f -l 1400 -n 20 %_host% > "%TS%\ping.txt"
set _res=
endlocal & set _result=%_res%
exit /B

:tool_trace
setlocal
set _host=%1
tracert -d %_host% > "%TS%\trace.txt"
set _res=
endlocal & set _result=%_res%
exit /B

Он и сейчас работает, но теперь пинг и трассировка выполняются не параллельно, а последовательно.
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050250
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
start добавь, он по умолчанию не дожидается завершения
Код: powershell
1.
2.
start call :tool_ping 8.8.8.8 &
call :tool_trace 8.8.8.8 &
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050280
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
start добавь, он по умолчанию не дожидается завершения
Код: powershell
1.
2.
start call :tool_ping 8.8.8.8 &
call :tool_trace 8.8.8.8 &

Start запускает программу - а call ни разу не программа. Так что
Код: sql
1.
start cmd /c ping -f -l 1400 -n 20 %_host% > "%TS%\ping.txt"
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050346
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда уж:
Код: plaintext
1.
start /b ping ... > протокол
start /b tracert ... > ещё.протокол
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050378
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
start по ряду причин не подходит.

Странно, раньше ведь & работал.
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050423
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
& - запуск в фоновом режиме для POSIX -шелл.
Вы точно никакими WSL-ями "раньше" не баловались?
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050433
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.
Странно, раньше ведь & работал.
В батч-процессинге одиночный амперсанд - это запустить вторую команду/программу после возврата управления от первой. И не более.
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050449
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
В батч-процессинге одиночный амперсанд - это запустить вторую команду/программу после возврата управления от первой. И не более.

нет
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050472
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
нет
А если поподробнее?
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050486
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
fkthat
нет
А если поподробнее?

https://www.gnu.org/software/bash/manual/bash.html#ListsIf a command is terminated by the control operator ‘&’, the shell executes the command asynchronously
in a subshell. This is known as executing the command in the background, and these are referred to as
asynchronous commands. The shell does not wait for the command to finish, and the return status is 0
(true). When job control is not active (see Job Control), the standard input for asynchronous commands,
in the absence of any explicit redirections, is redirected from /dev/null.
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050494
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Вы точно никакими WSL-ями "раньше" не баловались?

Нет, но видимо действительно использовал какой-то нестандартный шелл.
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050532
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat, а вы точно про виндовый cmd?

P.S.
Да, это риторический вопрос.
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050536
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat , то ли я дурак, то ли в вопросе обсуждается строго .CMD процессинг - то бишь чисто Windows. При чём тут, я извиняюсь, Bash?
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40050541
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
fkthat , то ли я дурак, то ли в вопросе обсуждается строго .CMD процессинг - то бишь чисто Windows. При чём тут, я извиняюсь, Bash?

Akina
В батч-процессинге одиночный амперсанд - это запустить вторую команду/программу после возврата управления от первой. И не более.

Я просто и не понял, что речь про какашку мамонта cmd.exe
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40051189
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор"В батч-процессинге одиночный амперсанд - это запустить вторую команду/программу после возврата управления от первой. И не более."


строго говоря (а говорить в наше непростое время надо исключительно строго), термин 'батч-процессинг' относится не только к интерпретатору cmd.exe
( и да, fkthat, это, действительно, потрясающее изделие от софтверной компании с многомиллиардными оборотами )
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40051192
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
volodin661
строго говоря (а говорить в наше непростое время надо исключительно строго), термин 'батч-процессинг' относится не только к интерпретатору cmd.exe
Ну тогда, при строгом следовании наименованию и контексту вопроса, он относится ещё к command.com и к командным процессорам третьей стороны - но во всех случаях строго под Windows. А потому - в случае command.com без разницы, а поведение необозначенного программного обеспечения непредсказуемо и не может рассматриваться как возможный контекст.
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40051196
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
поведение необозначенного программного обеспечения непредсказуемо и не может рассматриваться как возможный контекст.

Поведение Windows PowerShell (еще того, который "строго под Windows") может рассматриваться как возможный контекст?
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40051217
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да без базара
Код: plaintext
1.
2.
3.
PS C:\Users\admin$> ping -n 100 localhost &
Использование амперсанда (&) не допускается. Оператор & зарезервирован для буду
щих версий; используйте вариант, обрамленный кавычками ("&"), чтобы передать ам
персанд в виде строки.
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40051239
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
да без базара
Код: plaintext
1.
2.
3.
PS C:\Users\admin$> ping -n 100 localhost &
Использование амперсанда (&) не допускается. Оператор & зарезервирован для буду
щих версий; используйте вариант, обрамленный кавычками ("&"), чтобы передать ам
персанд в виде строки.

Ну да. В "старом" PS ни одиночный ни двойной амперсанд не работают вообще. А в "новом" сделали "как в баше" - одиночный запускает в бекграунде, двойной - последовательность команд (с логическим "и" на успешность выполнения - каждая последующая в цепочке запускается только если предыдущая выполнена успешно). Ни о каком авторВ батч-процессинге одиночный амперсанд - это запустить вторую команду/программу после возврата управления от первой речи нет.
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40051289
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть.
Просто потому, что cmd никуда не делся и, лично мне, вся эта "типапродвиность" МощнойОболочки никуда не впилась.
...
Рейтинг: 0 / 0
Вопрос к знатокам cmd
    #40051294
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Поведение Windows PowerShell (еще того, который "строго под Windows") может рассматриваться как возможный контекст?
По-моему, нет. Во-первых, явная ссылка на .BAT и CMD. Во-вторых, программный текст из исходного поста - по нему PS следует воспринимать скорее как то самое "третьей фирмы".
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Вопрос к знатокам cmd
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]