通过快捷方式传递 cmd.exe 参数?

通过快捷方式传递 cmd.exe 参数?

我想创建一个快捷方式,以便使用一些命令在特定位置运行 cmd。

我希望从那里我可以弄清楚如何使其成为右键单击选项“在此处运行我的 cmd 命令...”

我找到了使用 ruby​​ 运行 CMD 的快捷方式。这正是我想要的一部分。C:\Windows\System32\cmd.exe /E:ON /KC:\Ruby191\bin\setrbvars.bat

然后在目标字段中设置我的位置。现在我只需要知道如何向它传递一些启动参数。

它基本上是为了帮助我轻松地在文件夹上运行 livereload。LiveReload 是一个迷你网络服务器/ruby gem,当你保存对正在运行它的文件夹中的文件的更改时,它会自动刷新浏览器https://github.com/mockko/livereload

所以基本上它是运行 cmd,启动 ruby​​,传递目录并激活 livereload。

答案1

当您创建批处理文件 (.bat) 时。任何被拖放的内容实际上都会变成命令行参数。

您可以使用 %1、%2、%3... 等访问这些参数

所以你的情况...So basically it is running cmd, launching ruby, passing in the directory and activating livereload...

在你的 bat 文件中(假设你的 ruby​​ 内容正确地在你的路径中)

@echo off
echo %1
ruby myScript.rb %1
EXIT

然后你需要做的就是将该目录拖放到脚本上,一切都会正常运行

答案2

用这个 :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\livereload] 
@="Livereload" 

[HKEY_CLASSES_ROOT\Directory\shell\livereload\Command] 
@="cmd.exe  /E:ON /K C:\\Ruby191\\bin\\setrbvars.bat  & pushd %L & @livereload"

对我有用...您可以编辑@="Livereload" 来更改上下文菜单中的内容

答案3

好的,按照这个...http://www.windowsitpro.com/article/registry2/how-can-i-open-a-command-prompt-at-my-current-directory-in-explorer-.aspx?cpage=2

我已经走到这一步了...http://dl.dropbox.com/u/497583/code/livereload.reg [编辑] 上面的文件现在工作正常。我只需要 && 来分隔命令。

但我需要知道如何向它传递更多命令,如“livereload”。此外,它会打开您当前所在的文件夹,而不是您右键单击的文件夹。

相关内容