Bor*_*ard 3 windows cmd batch-file tortoisegit
当我在命令行上并执行此操作时:
"C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe" /command:log
Run Code Online (Sandbox Code Playgroud)
打开TortoiseGit的GUI对话框,cmd.exe立即返回,这意味着我可以立即运行其他命令等dir
.
因为前面提到的命令很长,所以我创建了一个帮助器批处理文件tgit.cmd,其中包含以下内容:
@echo off
"C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe" /command:%1 %*
Run Code Online (Sandbox Code Playgroud)
我现在可以调用tgit log这很好,但是,有一个区别:命令行被阻止,直到我关闭TortoiseGit对话框.
我也试过了
cmd /C "C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe" /command:%1 %*
Run Code Online (Sandbox Code Playgroud)
但这没有任何区别.如何立即从批处理文件返回?
奥斯卡的答案几乎是正确的,但需要纠正
start "" "C:\Program Files\TortoiseGit\bin\TortoiseGitProc.exe" /command:%1 %*
Run Code Online (Sandbox Code Playgroud)
为什么?
start
命令有一个奇怪的行为:第一个引用的参数用于确定新cmd
窗口的标题,不,没有cmd
窗口将启动没关系.首先引用的论点是标题.
这就是前面代码中空双引号的原因.没有它,start
命令看到的是什么
start "title=c:\Progra..." /command:....
Run Code Online (Sandbox Code Playgroud)
并且由于该start
命令不包含/command
开关,因此失败.