batch-file - 使批处理 FOR /F 忽略注册表自动运行
问题描述
我最近决定稍微升级一下我的 cmd 游戏,发现我可以使用 AutoRun 注册表项 ( HKLM\Software\Microsoft\Command Processor\AutoRun
) 注册宏并做其他有趣的事情。
因为我厌倦了不断地为 git 查找我的 SSH 密钥,或者start-ssh-agent
我现在想在 cmd 启动时立即运行它,因此(至少是计划)提示我一次输入我的 ssh 密钥密码,然后让它连接到我打开的每个后续命令行上正在运行的 ssh-agent。
但是我遇到了一个问题!start-ssh-agent
(由 git for windows 提供)FOR /F
利用tasklist /FI "Imagename eq ssh-agent.exe"
. 来自Windows Server Docs on For(强调我的):
您可以使用 for /f 命令通过在括号之间放置反引号来解析命令的输出。它被视为命令行,传递给子 Cmd.exe。输出被捕获到内存中并像文件一样被解析。
但是,该子 cmd.exe 未通过/D
,因此为了评估 tasklist 命令,打开了一个新 cmd,它运行 start-ssh-agent 来评估 tasklist 命令,因此它创建了一个新 cmd;你知道这是怎么回事。
说了很多,所以这里有一个问题:我有什么办法可以解决这个问题,而不是通过禁用 AutoRun 来处理正在运行的任何内容for /f
或任何其他措施来无休止地创建新的命令行?
解决方案
推荐阅读
- r - 如何删除某些组元素的第一行?
- unity3d - 谷歌播放控制台“发生意外错误。请稍后再试。(4800403)”?
- swift - 如何修复“'?:'表达式中的结果值类型不匹配'”
- javascript - 如何检查 Firebase 中的数据搜索是否成功
- c++ - 如果考虑到数组衰减,我只有指向第一个数组元素的指针,是否可以找到数组的长度?
- java - 将 .jpeg 和 .png 上传到 Java GraphQL 服务器时不支持内容类型 multipart
- entity-framework - 多对多关系类的CRUD操作示例 | 实体框架核心
- python - Python 的 __iter__ 和 __repr__ 他们在做什么?
- laravel - Vue 中的 PUT 错误
- python - 我正在尝试计算 VOE 和 VD,但我得到了这种类型的错误“TypeError:只有 size-1 数组可以转换为 Python 标量”