![通过快捷方式传递 cmd.exe 参数?](https://linux22.com/image/1268460/%E9%80%9A%E8%BF%87%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%E4%BC%A0%E9%80%92%20cmd.exe%20%E5%8F%82%E6%95%B0%EF%BC%9F.png)
我想创建一个快捷方式,以便使用一些命令在特定位置运行 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://dl.dropbox.com/u/497583/code/livereload.reg [编辑] 上面的文件现在工作正常。我只需要 && 来分隔命令。
但我需要知道如何向它传递更多命令,如“livereload”。此外,它会打开您当前所在的文件夹,而不是您右键单击的文件夹。