我有一个在Windows 7下工作的注册表编辑,但在Windows 10下没有,我无法弄清楚原因。
我的目标是添加上下文菜单操作“运行R脚本”,当有人右键单击以“.R”结尾的文件时,将显示在上下文菜单中。这里,命令是以文件名作为参数启动.cmd(.bat)脚本。
在Windows 7下,这是相对简单的。在HKEY_CURRENT_USER\Software\Classes\R_auto_file\shell\Run Rscript\command
下添加密钥可以正常工作。例如,从cmd.exe
开始,命令可能是这样的:
reg add "HKEY_CURRENT_USER\Software\Classes\R_auto_file\shell\Run Rscript\command" /v "" /t REG_SZ /d "\"C:\path\to\run_rscript.cmd\" \"%1\""
运行以上操作后,右键单击R文件显示:
虽然该选项不会显示非R文件。
到目前为止一切顺利。问题是这在Windows 10下不起作用。奇怪的是,如果我在R_auto_file
命令中用*
替换reg add
,那么“运行R脚本”确实显示在上下文菜单,它确实有效。但是上下文菜单操作显示所有文件,而不仅仅是R文件。这是不可取的,因为我希望此选项仅显示R文件,最终我想要不同文件的不同上下文操作。
以下是FileExtx
键中的.r下的内容。 (导出为.reg文件并在此处复制并粘贴)
```
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.r]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.r\OpenWithList]
"a"="rstudio.exe"
"MRUList"="acb"
"b"="a"
"c"="{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\\OpenWith.exe"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.r\OpenWithProgids]
"R_auto_file"=hex(0):
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.r\UserChoice]
"Hash"="SkJTR1uegvY="
"ProgId"="Applications\\rstudio.exe"
```