Выполнить команды .bat cmd после входа в режим блокировки - PullRequest
0 голосов
/ 19 апреля 2020

Есть несколько команд, которые мне часто приходится выполнять по одной и повторять несколько раз для разработки проекта как

1) ----Open Command Prompt
2) cd "C:\Program Files\Redis"
3) redis-cli.exe -h 127.0.0.1 -p 6666
4) 127.0.0.1:6666> flushdb
5) 127.0.0.1:6666> select 1
6) 127.0.0.1:6666> flushdb
7) ----Close Command Prompt

Итак, я подумал о создании командного файла, например

@echo off
cd "C:\Program Files\Redis"
redis-cli.exe -h 127.0.0.1 -p 6666
flushdb
select 1
flushdb

Но проблема в том, что как только выполнение входит в redis-cli.exe, дальнейшие команды блокируются. Это остается как

127.0.0.1:6666>_

И ждет команд. , Я хочу знать, как я могу предоставить эти оставшиеся команды этому redis-cli.exe и выполнить.

Я играл с такими командами, как run / cmd / start и другими, но безрезультатно.

I не мог предложить лучшее название для этого вопроса, потому что я не знал, как назвать этот тип блокирующего поведения или даже если это возможно. Если кто-то приходит с более подходящим именем, обновите его, чтобы другие могли получить пользу.

1 Ответ

0 голосов
/ 26 апреля 2020

Вы можете проверить redis-cli.exe /?, если есть какая-либо документация о том, как вы можете вызвать его из командной строки и заставить его выполнить последовательность команд сразу. Возможно, нужен какой-то переключатель, например /C "mycommand1 & mycommand2 & mycommand3", как известно из cmd.exe (я не знаю каких-либо подробностей о CLI Redis).

Наблюдаемая вами «блокировка» вызвана тем, что redis-cli открывает сама командная строка для обработки ввода пользователя. Очень похоже на telnet или wmic или diskpart. Обычно вы можете оставить эти запросы с помощью команды exit. Это также работает для cmd.exe. Но не для te lnet;) Для меня это какая-то загадка, как выйти из этой вещи ...
"Режим внутреннего перенаправления" распознается по префиксу 127.0.0.1:6666> вместо обычного C:\your\path\here> приглашение, представленное по умолчанию «cmd.exe».

Термин будет «блокировать» после «запроса ввода» или «чтения из стандартного входа».
Вы были не слишком далеки и предоставили достойный титул, я бы сказал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...