Adr*_*ian 9 windows-7 send-to bash shell
我想使用SendTo文件夹中的 bash shell 脚本。当我将批处理或 exe 的快捷方式放入SendTo文件夹时,它会显示在 shellSend To上下文子菜单中,但是当快捷方式指向 shell 脚本时,它不会。
我正在测试的操作系统是 Win7 Home Premium SP1。该扩展名.sh已与 MinGW 的 bash.exe 相关联。
我的 shell 脚本有一个.sh扩展名,我尝试.sh使用此实用程序取消关联扩展名(我认为 MinGW 最初设置了它,但没有用),并尝试使用以下命令将其重新关联到 bash:
ftype ShellScript=c:\MinGW\msys\1.0\bin\bash.exe -c "'%1' %2"
assoc .sh=ShellScript
Run Code Online (Sandbox Code Playgroud)
在管理员 cmd shell 中。尽管这适用于命令提示符和资源管理器外壳(通过双击),但它不会显示在Send To菜单中,也不会通过直接将文件拖到脚本顶部来接受参数。
有谁知道我会怎么做?
这将允许拖放至任何脚本。您可以将其中之一放入 SendTo 文件夹中,然后使用它。
注册表导出:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ShellFile]
[HKEY_CLASSES_ROOT\ShellFile\Shell]
[HKEY_CLASSES_ROOT\ShellFile\Shell\Open]
[HKEY_CLASSES_ROOT\ShellFile\Shell\Open\Command]
@=hex(2):43,00,3a,00,5c,00,70,00,61,00,74,00,68,00,5f,00,65,00,78,00,74,00,5c,\
00,62,00,61,00,73,00,68,00,2e,00,65,00,78,00,65,00,20,00,2d,00,63,00,20,00,\
22,00,73,00,6f,00,75,00,72,00,63,00,65,00,20,00,24,00,30,00,3b,00,72,00,65,\
00,61,00,64,00,22,00,20,00,25,00,31,00,20,00,25,00,2a,00,00,00
[HKEY_CLASSES_ROOT\ShellFile\ShellEx]
[HKEY_CLASSES_ROOT\ShellFile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"
Run Code Online (Sandbox Code Playgroud)
十六进制部分实际上是"C:\cygwin\bin\bash.exe -c "source $0;read" %1 %*"在导出中编码的。
您可能希望删除read后测试,以便您可以编写只执行任务而不留下打开窗口的脚本。如果您需要单个脚本,您可以随时将其添加到它们的末尾。
assoc .ext=ShellFile导入后使用可将您想要的任何文件扩展名与此功能链接起来。本示例中的 DropHandler 适用于 Windows XP 和 Windows 7(也可能是其他操作系统),基本上意味着“运行命令,以所有删除的文件名作为参数”。
使用它作为脚本 ( echotest.ext) 来测试基本功能:
echo $0 $*;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2064 次 |
| 最近记录: |