加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 如何从批处理文件中运行命令并立即返回?

发布时间:2020-12-14 05:44:37 所属栏目:Windows 来源:网络整理
导读:当我在命令行上并执行此操作时: "C:Program FilesTortoiseGitbinTortoiseGitProc.exe" /command:log 打开一个TortoiseGit的GUI对话框,cmd.exe立即返回,这意味着我可以立即运行其他命令,如dir等. 因为前面提到的命令很长,所以我创建了一个帮助器批处理文
当我在命令行上并执行此操作时:

"C:Program FilesTortoiseGitbinTortoiseGitProc.exe" /command:log

打开一个TortoiseGit的GUI对话框,cmd.exe立即返回,这意味着我可以立即运行其他命令,如dir等.

因为前面提到的命令很长,所以我创建了一个帮助器批处理文件tgit.cmd,其中包含以下内容:

@echo off
"C:Program FilesTortoiseGitbinTortoiseGitProc.exe" /command:%1 %*

我现在可以调用tgit log这很好,但是,有一个区别:命令行被阻止,直到我关闭TortoiseGit对话框.

我也试过了

cmd /C "C:Program FilesTortoiseGitbinTortoiseGitProc.exe" /command:%1 %*

但这没有任何区别.如何立即从批处理文件返回?

解决方法

奥斯卡的答案几乎是正确的,但需要纠正

start "" "C:Program FilesTortoiseGitbinTortoiseGitProc.exe" /command:%1 %*

为什么?

start命令有一个奇怪的行为:第一个引用的参数用于确定新cmd窗口的标题,不,没有任何cmd窗口将被启动并不重要.首先引用的论点是标题.

这就是前面代码中空双引号的原因.没有它,start命令看到的是

start "title=c:Progra..." /command:....

并且由于start命令不包含/ command开关,因此失败.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读