我有一个使用特定快捷方式打开的程序,但该快捷方式似乎将参数发送到应用程序。如果我直接进入目标目录并双击,则不起作用。但是,如果我使用命令行并传入某个参数,应用程序将正确打开。
我想使用应用程序打开某些文件类型,但应用程序必须有参数,否则将无法运行。有可能做这种事情吗?
小智 27
遇到与@jtpereyda 相同的问题,@bobbymcr 的解决方案对我也不起作用。我试图将所有命令行参数传递到 node.js 脚本中,而无需在命令上使用 node.exe。
问题是,如果您已经通过Open With对话框将程序与扩展名关联,那么您将在两者之间创建应用程序关联,而不是文件扩展名关联。并且应用程序关联优先。
如果您不介意编辑注册表,您可以(Default)在以下路径修改密钥:
HKEY_CLASSES_ROOT\Applications\node.exe\shell\open\command
您应该替换node.exe为您正在调整的应用程序。
或者您可以从HKEY_CLASSES_ROOT\Applications文件夹中完全删除应用程序文件夹,您的ftype关联将开始工作。
请务必使用%*which 将传入剩余的未指定命令行参数或根本不传递。如果这样做"%2" "%3" "%4" "%5",当您不指定任何命令行参数时,您将获得 5 个空字符串参数传递到您的应用程序中。
最后,如果您不能手动修改注册表,那么您可以使用 Nirsoft 的免费软件工具 - FileTypesManager - http://www.nirsoft.net/utils/file_types_manager.html
文件关联将出现在列表顶部,第一个扩展列中没有任何文本。只需在列表中找到可执行文件的名称并选择它即可修改操作名称的command line字段open。
在 windows7 上,更改会立即反映,无需重新启动或重新启动应用程序。然而,Nirsoft 实用程序具有在任何修改时“刷新桌面”的功能,因此它让我相信 Vista 或之前的操作系统版本可能会缓存数据。在这种情况下,实用程序将是一个更好的选择,否则您可能需要注销并登录才能查看更改。
bob*_*mcr 11
您可以使用assoc和ftype在命令提示符下执行此操作。打开提升的命令提示符并尝试以下操作:
ftype MyFileType=C:\MyDir\MyProgram.exe /arg1 /arg2 "%1" assoc .xyz=我的文件类型
这将与.xyz扩展相关联MyProgram.exe,并将命令行传递/arg1 /arg2 [filename.xyz]给程序以运行它。
| 归档时间: |
|
| 查看次数: |
55823 次 |
| 最近记录: |