You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在单个PowerShell上下文执行多Redis-cli命令失败,寻求解决方案

解决Redis-cli脚本执行命令的问题

原因说明

脚本里按顺序执行命令时,.\redis-cli.exe会启动一个独立的交互式进程,PowerShell会等这个进程退出后才执行后续的keys *和flushall,这两个命令实际是在PowerShell环境里运行,自然会报错。而手动逐条执行时,你是在Redis-cli的交互界面输入命令,由Redis-cli进程处理,所以能正常运行。

解决方案

方法1:直接通过Redis-cli参数传递命令

Redis-cli支持把命令作为参数直接传入,不用进入交互模式。修改脚本如下:

cd 'C:\Redis-x64-3.0.504'
# 执行keys *命令
.\redis-cli.exe -p 6380 -a "xxxxxxxxxxxx" keys *
# 执行flushall命令
.\redis-cli.exe -p 6380 -a "xxxxxxxxxxxx" flushall

方法2:通过输入重定向批量执行命令

  1. 创建一个文本文件(比如redis_commands.txt),写入要执行的Redis命令:
keys *
flushall
  1. 在脚本里通过输入重定向让Redis-cli读取并执行文件里的命令:
cd 'C:\Redis-x64-3.0.504'
.\redis-cli.exe -p 6380 -a "xxxxxxxxxxxx" < redis_commands.txt

方法3:使用PowerShell Here-String传递命令

不用额外创建文件,直接在脚本里用Here-String把命令传给Redis-cli:

cd 'C:\Redis-x64-3.0.504'
@"
keys *
flushall
"@ | .\redis-cli.exe -p 6380 -a "xxxxxxxxxxxx"

内容的提问来源于stack exchange,提问作者Anand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:52:15