Я знаю, как сделать это в /bin /sh, но я немного борюсь в Windows.
Я знаю, что вы можете сделать арифметику на 32-разрядных знаковых целых с
SET /a 2+2
4
Но как мне передать это следующей команде? Например, процесс, который я хочу выполнить, выглядит следующим образом.
В потребительских выпусках Windows отсутствует встроенная автоматическая функция сна (я полагаю?). Лучший способ выполнить сон - это использовать PING
в сочетании с ключом -n
чтобы получить столько секунд, минус одну, сна. Следующая команда эффективна для тихого сна:
PING localhost -n 3 > NUL
Но я хочу добавить псевдоним в команду сна. Я хотел бы, чтобы он был элегантным, чтобы вы вводили фактическое количество секунд, которое вы хотите спать после команды, сейчас я могу сделать
DOSKEY SLEEP=PING 127.0.0.1 -n $1 > NUL
Это работает, но всегда на 1 секунду меньше вашего ввода, поэтому, если вы хотите поспать одну секунду, вам придется использовать команду SLEEP 2
. Это не совсем идеально.
Есть ли какой-нибудь способ передать арифметику $1+1
и передать ее следующей команде в Windows? Я предполагаю, что есть какой-то способ использования STDOUT ...