使用 Git 的时候, 最开始是完全使用命令行的, 但是毕竟不方便, 于是下载了一个图形界面的 TortoiseGit, 可以 GUI 操作了. 但是想要 Commit 的时候不能直接使用 .ssh 文件夹中配好的 key, 需要使用 Pageant 添加 key 后才可以. 这样操作有很麻烦了, 每次都要手动点, 于是想写一个批处理文件来自动打开 Pageant 并添加 key.

我最开始这么写的:

"C:\Program Files\TortoiseGit\bin\pageant" "C:\Users\%username%\.ssh\TortoiseGit.ppk"

的确是打开了, 但是 cmd 窗口无法自动关闭, 尴尬.

于是想到了使用 start 命令, 改写如下:

start "C:\Program Files\TortoiseGit\bin\pageant" "C:\Users\%username%\.ssh\TortoiseGit.ppk"

那么问题又来了, 打不开了.

这就是一个不大不小的坑了. 到处搜了搜代码, 别人写的都是 start "" *.exe, 可见 start 命令后接了一个 ""(两个双引号). 其实这个以前同事提到过, start 命令后必须要写两个双引号, 只是我忘了.

关于 start 命令后跟的 "" 的作用, 在这里代表的是命令行窗口的 title, 如果你不显式地写出来, 你本意想打开的文件名字却被 start 命令识别为了 title, 所以自然无法正确打开了...

所以最后正确的写法是:

start "" "C:\Program Files\TortoiseGit\bin\pageant" "C:\Users\%username%\.ssh\TortoiseGit.ppk"

反正觉得这个东西也是挺蠢的.

Comments
Write a Comment