这段代码是如何工作的
How Does this piece of code work
@echo off
SET st3Path=C:\Program Files\Sublime Text 3\sublime_text.exe
rem add it for all file types
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f
rem add it for folders
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f
pause
它修改 Windows 注册表,添加与文件夹和文件类型上的 shell 交互(右键单击)相对应的注册表项。它添加了一个菜单项以在 sublime text 中打开项目。
在 运行 之后,您可以使用 regedit
检查注册表。
详情:
@echo off
@
导致该行在执行时不回显到屏幕。 echo off
对脚本的其余部分执行相同的操作。
SET st3Path=C:\Program Files\Sublime Text 3\sublime_text.exe
设置环境变量。
rem add it for all file types
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f
此块使用 reg
命令更改注册表。 @
修饰符被使用,尽管它不是必需的,因为之前发出了 echo off
命令。
HKEY_CLASSES_ROOT\*\shell
对应所有文件类型的右键菜单选项。它添加了使用 Sublime Text 打开的选项。三个注册表项对应相同的定义:第一行定义选项,第二行定义图标,第三行执行的命令:这里\"%%1\"
存储为"%1"
,最终被替换通过资源管理器执行时所选文件的路径。
您可以在命令行中使用 reg add /?
检查 reg
语法。不同的选项指定键的数据类型(/t
)、键名(/v
)、实际数据内容(/d
)、覆盖现有键(/f
).
文件扩展名关联的数据结构由微软在此处描述:https://msdn.microsoft.com/en-us/library/windows/desktop/ms724475(v=vs.85).aspx
rem add it for folders
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f
pause
这与文件夹的作用相同。
@echo off
SET st3Path=C:\Program Files\Sublime Text 3\sublime_text.exe
rem add it for all file types
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f
rem add it for folders
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f
pause
它修改 Windows 注册表,添加与文件夹和文件类型上的 shell 交互(右键单击)相对应的注册表项。它添加了一个菜单项以在 sublime text 中打开项目。
在 运行 之后,您可以使用 regedit
检查注册表。
详情:
@echo off
@
导致该行在执行时不回显到屏幕。 echo off
对脚本的其余部分执行相同的操作。
SET st3Path=C:\Program Files\Sublime Text 3\sublime_text.exe
设置环境变量。
rem add it for all file types
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\*\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f
此块使用 reg
命令更改注册表。 @
修饰符被使用,尽管它不是必需的,因为之前发出了 echo off
命令。
HKEY_CLASSES_ROOT\*\shell
对应所有文件类型的右键菜单选项。它添加了使用 Sublime Text 打开的选项。三个注册表项对应相同的定义:第一行定义选项,第二行定义图标,第三行执行的命令:这里\"%%1\"
存储为"%1"
,最终被替换通过资源管理器执行时所选文件的路径。
您可以在命令行中使用 reg add /?
检查 reg
语法。不同的选项指定键的数据类型(/t
)、键名(/v
)、实际数据内容(/d
)、覆盖现有键(/f
).
文件扩展名关联的数据结构由微软在此处描述:https://msdn.microsoft.com/en-us/library/windows/desktop/ms724475(v=vs.85).aspx
rem add it for folders
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f
pause
这与文件夹的作用相同。