进入阻止模式后执行.bat cmd命令

问题描述 投票:0回答:1

对于项目开发,我经常需要一次执行一次并且重复执行多次的命令很少

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和其他命令,但没有用。

我无法为这个问题建议一个更好的标题,因为我不知道该怎么称呼这种阻止行为,即使可能的话。如果有人的名字更好,请进行更新,以便其他人受益。

batch-file command-line redis command-prompt
1个回答
0
投票

您可以检查redis-cli.exe /?是否存在有关如何从命令行调用它并使其立即执行命令序列的文档。也许需要一些开关,例如cmd.exe中的/C "mycommand1 & mycommand2 & mycommand3"(我不知道有关Redis CLI的任何详细信息)。

您观察到的“阻塞”是因为redis-cli本身会打开命令提示符来处理用户输入。就像telnetwmicdiskpart一样。通常,您可以使用exit命令保留这些提示。这也适用于cmd.exe本身。但是不适合telnet;)对于我来说,如何退出那件事是一个谜。通过127.0.0.1:6666>前缀可以识别“内部redis模式”,而不是通过默认“ cmd.exe”显示的通常的C:\your\path\here>提示符。

该术语在“提示输入”或“从标准输入中读取”之后为“阻止”。您离您不太远,并提供了不错的头衔,我想说:)

© www.soinside.com 2019 - 2024. All rights reserved.