Ответ 1
Использование:
echo %time% & dir & echo %time%
Это из памяти эквивалентно разделителю с запятой в bash
и других оболочках UNIXy.
Там также &&
(или ||
), который выполняет только вторую команду, если первое выполнено (или не выполнено), но единственный амперсанд &
- это то, что вы ищете здесь.
Это может дать вам то же самое время, поскольку переменные окружения, как правило, оцениваются как чтение, а не выполнение.
Вы можете обойти это, включив задержанное расширение:
pax> cmd /v:on /c "echo !time! & ping 127.0.0.1 >nul: & echo !time!"
15:23:36.77
15:23:39.85
Это необходимо из командной строки. Если вы делаете это внутри script, вы можете просто использовать setlocal
:
@setlocal enableextensions enabledelayedexpansion
@echo off
echo !time! & ping 127.0.0.1 >nul: & echo !time!
endlocal