Bas*_*asj 6 windows windows-7 windows-explorer context-menu regedit
我想为多个选定的文件创建一个 Windows 资源管理器上下文菜单操作。
HKEY_CLASSES_ROOT\*\shell\MyAction\command
我创建了一个带有字符串值的键
C:\python37\python.exe "c:\test\test.py" "%1"
Run Code Online (Sandbox Code Playgroud)
该脚本目前仅显示命令行参数(用于调试目的):import sys; print(sys.argv); input()
当我在资源管理器中选择两个文件 a.txt
并b.txt
右键单击“MyAction”时,然后:
我想让这个脚本被调用一次,并且传递给Python的命令行参数应该是
["c:\test\test.py", "c:\a.txt", "c:\b.txt"]
Run Code Online (Sandbox Code Playgroud)
相反,我将此脚本调用两次(每个文件独立一次),并且传递的命令行参数是:
["c:\test\test.py", "c:\a.txt"]
["c:\test\test.py", "c:\b.txt"]
Run Code Online (Sandbox Code Playgroud)
如何使上下文菜单操作仅在选择 2 个文件时调用该命令一次,并将这 2 个文件作为命令行参数?
TL;DR我希望启动此功能:
C:\python37\python.exe "c:\test\test.py" "a.txt" "b.raw" "file_with_noext"
Run Code Online (Sandbox Code Playgroud)
并不是:
C:\python37\python.exe "c:\test\test.py" "a.txt"
C:\python37\python.exe "c:\test\test.py" "b.raw"
C:\python37\python.exe "c:\test\test.py" "file_with_noext"
Run Code Online (Sandbox Code Playgroud)
对多个文件使用上下文菜单操作时。
注意:打开多个文件?它的答案并不能解决问题;我尝试过HKEY_CLASSES_ROOT\SystemFileAssociations\*\shell\MyAction\command
,但当我选择多个文件(例如 、 、 和 )时,此菜a.txt
单项b.raw
不会file_with_noext
出现testdir\
。
小智 3
如果您已经得到答案,我深表歉意,但我认为唯一的方法是将您的应用程序的快捷方式放置在 SendTo 文件夹中(您可以通过键入 shell:sendto 从“运行”窗口打开它),然后突出显示这两个文件并选择从“发送到”上下文菜单中选择您的程序。
归档时间: |
|
查看次数: |
3599 次 |
最近记录: |