IFlow 强制调用 PowerShell 而非 CMD,如何强制其使用 CMD?

  • 环境:Win10,PowerShell 被安全软件禁用,仅可用 CMD

  • 现象:VS Code 已设置默认终端为 CMD,但 IFlow [使用run_shell_command 工具] 时仍尝试调用 PowerShell 并报错:

  • image

  • 已尝试:[让IFlow自己修改默认命令行工具为CMD],无效,回复如下:

    • ✦ 抱歉,iFlow CLI 的 run_shell_command 工具目前固定使用 PowerShell 执行命令(powershell.exe -NoProfile
      -Command),这是工具内部硬编码的实现方式。

      作为 AI 助手,我无法直接修改 iFlow CLI 的核心执行逻辑。 Shell 执行方式是在 iFlow CLI 应用程序本身中定义的,而不是在可配置文件中。

      可能的替代方案:

      1. 手动使用 CMD:如果你需要运行 CMD 命令,可以在 PowerShell 中调用 CMD:
        cmd /c “你的命令”

      2. 向 iFlow 团队反馈:如果这对你很重要,可以向 iFlow 开发团队反馈,建议添加配置选项来选择默认 shell。

      3. 临时解决方案:如果你经常需要使用 CMD,可以建议我通过 cmd /c 来执行命令。

  • 求问:如何强制 IFlow 使用 CMD 执行 shell 命令?

1 个赞

顶顶

不好意思,忘记给您反馈了;这个我们需要复现下,现在有点晚手头没有win系统电脑,明天上午给您个回复

您好,确认了一下,目前应该是这样,我们近期会对这个做一些优化,感谢大佬反馈 :handshake:

2 个赞

这个我之前发过呀, cli在win上调用终端的工具硬编码了PowerShell, 把这个改为允许用户自定义比如bashcmd就行了, vscode里面就有这种设置, 再不行从cc源码让iflow cli自己拉下来做对照组就能解决的

:joy:看到看到了,那时候是边边在跟进,我当时没看到

目前只能改用WSL2

win 下 建议使用 在 Windows 上安装 PowerShell - PowerShell | Microsoft Learn 这个终端来使用Iflow 体验比CMD要好非常多。

而且有时候调用powerpell时,由于iflow使用的powerpell通道把更改powerpell配置的扳了,导致调用powerpell时一直用的是Windows系统默认的编码,和代码里面使用的utf-8不兼容,导致批量调用时一堆乱码,我让iflow逐行手动修改,改了一个晚上,特别消耗资源 :smiling_face_with_tear:

人家在说内置shell工具你在说启动器别凑热闹了不懂的话

不管是内置的的shell 工具还是启动器,使用 pwsh 兼容性都要比 cmd 好,安装上了,至少不会报这个错误,win 自带的Windows Powershell 不好用。很多命令都不支持,至少我用 pwsh 后 出现过命令不支持的情况大大降低了

目前iflow cli内置的shell只会调用PowerShell v5, 无法调用pwshv7/latest/cmd, 和启动器无关, 你用cmd和bash也只能调用PowerShell v5

还有一个,它会使用&&符号 :laughing:

喜报 最新版支持了

实际上你可以让他生成一个.bat.cmd文件然后运行,这样就是cmd了