url-run-command
使用 URL 协议运行命令
项目地址: Zuoqiu-Yingyi/url-run-command
用法
若还有其他好用的方法欢迎在评论区留言呀(*^▽^*)
- 使用视频播放器 Potplayer 打开本地视频并跳转到指定时间点
runcmd://PotPlayerMini64.exe 'D:\你的\视频\文件.mp4' /seek=00:10:20.00
原理
- 将自定义 URL 协议注册为 Windows 系统协议, 并调用一个具有如下功能的程序
- 对 URL 载荷进行 URL 解码, 获得指令
- 调用系统命令行解析器
CMD
或PowerShell
运行指令
注意: 为了避免可能出现的 远程命令/代码执行(Remote Command/Code Execution, RCE) 攻击, 请尽量使用足够长的随机字符串作为自定义协议名称
开始
快速开始
- 从 Releases 中下载发行包并解压到自定义安装目录
- 运行安装目录中的
install.bat
批处理文件 - 安装目录中将生成
insert.reg
与delete.reg
两个注册表文件insert.reg
: 安装时将要写入注册表的注册表项delete.reg
: 卸载时将要从注册表中删除的注册表项
- 允许对注册表的更改
- 安装完成
- 在 Windows 资源管理器 的地址栏中输入
runcmd://systeminfo; pause
并回车, 检查 URL 协议runcmd
能否运行命令systeminfo; pause
(查看系统信息后暂停)
高级选项
在安装目录中使用如下命令查看命令行参数
PS > .\url2cmd.exe help
Active code page: 65001
SYNOPSIS
url2cmd.exe <url> (-c|-p) [--debug] [--parser <path>]
url2cmd.exe init [-n <scheme>] (-c|-p) [--debug] [--parser <path>]
url2cmd.exe help
OPTIONS
<url> 统一资源定位符 / Uniform Resource Locator, URL
-c, --cmd 使用 CMD 解析器 / use CMD parser
-p, --powershell, --pwsh
使用 PowerShell 解析器 / use PowerShell parser
--debug 输出调试信息 / output debug information
--parser 自定义命令解析器 / custom command parser
<path> 自定义命令解析器路径 / path of custom command parser
init 初始化注册表文件 / initialize the registry file
-n, --name 自定义 URL 协议名称 / custom URL scheme name
<scheme> 协议自定义名称 / name of custom scheme
-c, --cmd 使用 CMD 解析器 / use CMD parser
-p, --powershell, --pwsh
使用 PowerShell 解析器 / use PowerShell parser
--debug 输出调试信息 / output debug information
--parser 自定义命令解析器 / custom command parser
<path> 自定义命令解析器路径 / path of custom command parser
help 查看参数指南 / view the parameter guide
开发者选项
git clone https://github.com/Zuoqiu-Yingyi/url-run-command.git
cd url-run-command
g++ \
src\main.cpp \
-o dist\url2cmd \
-g \
-static
cd dist
.\url2cmd.exe init \
--name "<自定义 URL 协议名 | name for custom URL scheme>" \
--powershell \
--parser "<自定义命令解析器路径 | path for custom command parser>"
start .\insert.reg
卸载
- 运行安装目录中的
uninstall.bat
批处理文件 - 允许对注册表的更改
- 卸载完成
依赖
源码依赖
- muellan/clipp: easy to use, powerful & expressive command line argument parsing for modern C++ / single header / usage & doc generationMIT License
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于