Попробуйте это:
DOSKEY SLEEP==set /a t=$1+1 $G NULL $T PING 127.0.0.1 -n %t% $G NULL
$T
Является разделитель команд эквивалент &
.
Обратите внимание, что > NUL
перенаправляет вывод, DOSKEY
а не макрос. Вы можете видеть, что это не включено, если вы делаете DOSKEY /MACROS
. Чтобы сделать перенаправление, которое вы хотите, добавьте $G NUL
в конец строки, как показано выше.
Примерно так же будет работать:
DOSKEY SLEEP=for /f %t in ('set /a $1+1') do @PING 127.0.0.1 -n %t $G NUL
Попробуйте оба варианта и посмотрите, какой из них лучше для вас.