无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 387|回复: 22
打印 上一主题 下一主题

[发布] AutoShortcut - 批量创建快捷方式,智能识别绿色软件与主程序

[复制链接]
跳转到指定楼层
1#
发表于 5 小时前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 834772509 于 2025-9-13 18:41 编辑

介绍
AutoShortcut 是一款自动化快捷方式创建工具。专为高效管理软件快捷方式而设计。它能够智能识别各类软件目录结构,自动分析并创建最优的快捷方式,极大提升桌面和开始菜单的整洁度与使用效率。

AutoShortcut 的优势
  • 智能识别:自动识别绿色软件、单文件应用并创建对应快捷方式
  • 多维度评分:通过多维度评分算法识别主程序
  • 丰富定制:支持模板命名、忽略规则、批量创建等高级功能
  • 双模式支持:同时支持命令行和配置文件,满足不同使用场
  • 多语言界面:内置中文、英文支持,易于国际化扩展
  • 灵活配置:提供详细的配置选项,满足个性化需求

快速开始
本程序为命令行程序,故需要在其后面接参数运行,可通过cmd、PowerShell等终端来运行。

# 示例1: 扫描Program Files目录,在桌面创建所有程序的快捷方式
  1. AutoShortcut.exe "C:\Program Files" "%Desktop%"
复制代码

# 示例2: 扫描Program Files目录,在开始菜单创建快捷方式并按程序分类
  1. AutoShortcut.exe -d "C:\Program Files" "%Programs%"
复制代码

# 示例3: 扫描并自动运行指定软件(适用于绿色软件)
  1. AutoShortcut.exe -s "C:\Program Files\Everything"
复制代码

命令行用法
温馨提示:路径含空格请用引号
  1. Usage: AutoShortcut.exe [选项] ["程序路径"] ["快捷方式路径"] [--config "配置文件路径"]
复制代码
基本使用
  1. AutoShortcut.exe "程序路径" "快捷方式路径"
复制代码
  • 创建桌面快捷方式: AutoShortcut.exe "C:\Program Files"     %Desktop%
  • 创建开始菜单快捷方式: AutoShortcut.exe "C:\Program Files"     "%Programs%"
创建程序文件夹
  1. `AutoShortcut.exe -d "程序路径" "快捷方式路径"`
复制代码
  • AutoShortcut.exe     -d "C:\Program Files" "%Programs%"
尝试安装软件

将自动运行软件目录内的: install.cmd/batsetup.cmd/bat绿化.cmd/bat
  1. AutoShortcut.exe -i "程序路径" "快捷方式路径"
复制代码
  • AutoShortcut.exe     -i "C:\Program Files" "%Programs%"
运行程序
识别主程序后自动运行程序
  1. AutoShortcut.exe --start "程序路径"
复制代码
使用原始文件名
设置快捷方式名称使用原始 exe 文件名
  1. AutoShortcut.exe --use-filename "程序路径" "快捷方式路径"
复制代码
仅列出快捷方式
仅列出需要创建快捷方式的程序路径,不进行创建快捷方式操作。
  1. AutoShortcut.exe --list "程序路径" "快捷方式路径"
复制代码
仅匹配配置文件
仅将配置文件中的快捷方式信息创建快捷方式
  1. AutoShortcut.exe --only-match "程序路径" "快捷方式路径"
复制代码
评分阈值
设置绿色软件 exe 程序评分时的判定阈值(百分比),低于此分数则判定为没有主程序。默认值为0.3
  1. AutoShortcut.exe --score-ratio 0.5
复制代码
配置文件(可选)
AutoShortcut.exe [选项] ["程序路径"]["快捷方式路径"] [--config "配置文件路径"]
简介
为了更有效的创建快捷方式,满足用户个性化需求,可选的引入配置文件。配置文件包括以下功能:

  • 全局配置工具选项;
  • 配置创建方式信息(名称、命令行、图标等);
  • 为未匹配的程序创建快捷方式;
使用方法:
  • 新建文本文件,将后缀重命名为.toml
  • 使用文本工具打开(如记事本等),填写相应的配置信息
全局设置
  • 忽略列表
配置扫描中需要忽略的文件或目录,后续扫描目录/文件将忽略。默认值为系统特殊目录(如回收站目录等)。
  1. ignore = ["temp","Everything.exe", "D:\Everything"]
复制代码
  • 安装脚本
如设置为true则自动运行软件目录内的: install.cmd/batsetup.cmd/bat绿化.cmd/bat
  1. install = true
复制代码
  • 并行运行脚本
如设置为true则不等待运行脚本执行完成,而是并行运行所有脚本。默认值为false
  1. install_parallel = true
复制代码
  • 脚本规则
配置安装软件的脚本文件类型(默认支持setup.cmd/batinstall.cmd/bat绿化.cmd/bat
# 示例:支持全部cmd、bat脚本
  1. scripts = ["*.cmd", "*.bat"]
复制代码
  • 使用原始文件名
如设置为true则所有快捷方式名称将使用原始 exe 文件名。
  1. use_filename = true
复制代码
  • 仅匹配配置文件
如设置为true则仅将配置文件中的快捷方式信息创建快捷方式,配置文件中未指定的快捷方式将不会创建。
  1. only_match = true
复制代码
  • 评分阈值
设置为绿色软件 exe 程序评分时的判定阈值(百分比),低于此分数则判定为没有主程序,设置为0表示无阈值。默认值为0.3
  1. score_ratio = 0.5
复制代码
  • 开启转义
为了方便表示 Windows 路径,默认关闭转义功能,如需转义可通过配置开启。默认值为false
  1. enable_escape = true
复制代码
快捷方式定义
本程序支持多种快捷方式属性写法,功能一致,可根据个人喜好自由选择。




    配置项 说明
    exec 程序路径(必填),其它配置项均为可选项
    name 快捷方式名称
    icon 图标路径,支持相对路径(顺序为:程序所在路径、工作路径、系统路径),也支持指定图标索引如 shell32.dll#1
    args 命令行
    work_dir 工作路径(起始位置)
    dest 快捷方式存放路径
    window_state 显示模式:normal(激活并显示) / minimized(最大化) / maximized(最小化)
    comment 备注





  • 配置项模式
  1. # 此处配置仅为字段说明
  2. [[shortcut]]
  3. name = "快捷方式名称"
  4. exec = "程序路径"
  5. work_dir="起始位置"
  6. args = "命令行参数"
  7. icon = "图标路径"
  8. dest = "快捷方式位置"
  9. window_state = "显示模式"
  10. comment = "备注"
复制代码

  • 内联模式
提示:内联模式中每一项快捷方式信息都必须在一行内,不可换行。
  1. <blockquote>shortcut = [
复制代码
  • 映射表模式
  1. # 配置快捷方式名称
  2. [name]
  3. "程序路径" = "快捷方式名称"
  4. # 示例
  5. "Everything.exe" = "Everything"

  6. # 配置快捷方式参数
  7. [args]
  8. "程序路径" = "命令行参数"
  9. # 示例
  10. "Everything.exe" = "-s example.txt"

  11. # 配置快捷方式起始路径
  12. [work_dir]
  13. "程序路径" = "起始路径"
  14. # 示例
  15. "Everything.exe" = "D:\Everything"

  16. # 配置快捷方式图标
  17. [icon]
  18. "程序路径" = "图标路径"
  19. # 示例
  20. "Everything.exe" = "D:\Everything\Everything.ico"

  21. # 配置快捷方式备注
  22. [comment]
  23. "程序路径" = "备注"
  24. # 示例
  25. "Everything.exe" = "文件搜索"
复制代码
支持内置变量
在配置文件中支持使用环境变量和以下内置变量:
%CurDir%配置文件目录
%CurFile% 配置文件名称
%CurDrv% 配置文件驱动器
%Favorites% 收藏夹全路径
%Personal% 我的文档目录
%Programs% 程序菜单目录
%SendTo% 发送到目录
%StartMenu% 开始菜单目录
%Startup% 启动菜单目录
%QuickLaunch% 快速启动栏
%Desktop% 桌面目录名
%ProgramFiles% 程序目录
%ProgramFiles(x86)% 程序目录(32 位)


纯配置模式
为了更好的满足个性化需求,除扫描模式外提供纯配置模式,纯配置模式将不进行目录扫描,仅根据配置文件所提供的信息来创建快捷方式。
  1. <font color="#1F2328"><font style="font-size: 10pt;">AutoShortcut.exe --config </font></font><font color="#1F2328"><font style="font-size: 10pt;">配置文件路径</font></font>
复制代码
提示:

  • 纯配置模式下,exec(程序路径)、dest(快捷方式路径) 两项都必须填写
  • 命令行中无需传 <TARGET_PATH>(程序路径)、<LNK_PATH>(快捷方式路径);
  • name(快捷方式名称)省略时将使用程序描述作为快捷方式名称;
  • 同理支持配置项模式、内联模式、映射表模式三种写法
  1. <blockquote>shortcut = [
复制代码
快捷方式属性模板
提示:

  • 快捷方式属性模板仅在[Template]配置项中生效。
AutoShortcut 提供强大的模板系统,使用规则模板来全局定义快捷方式的名称、图标等属性。模板处理分为两个阶段:

  • 控制流阶段:先解析并执行表达式。
  • 替换阶段:将剩余的占位变量替换为对应值。
1. 变量替换
提示:

  • 模板中所有变量均需要用大括号 {} 包裹。
  • 变量名区分大小写。
内置多种变量,可在模板中直接引用:
文件信息变量
变量 说明
{exec} 完整路径,如 D:\Apps\WeChat\WeChat.exe
  {stem} 文件名(不含扩展名)
  {ext} 文件扩展名,如 exe
  {parent} 程序父目录路径
  {parent_name} 程序父目录名称
  {size} 文件大小(字节)
  {size_kb} 文件大小(千字节)
  {size_mb} 文件大小(兆字节)
  {size_gb} 文件大小(千兆字节)
  {size_tb} 文件大小(太字节)
  {create_time} 创建时间
  {modify_time} 修改时间
  {access_time} 访问时间
元数据变量(来自文件版本信息)
变量 说明
{product} 产品名称(ProductName)
  {desc} 程序描述(已清理非法字符)
  {desc_raw} 原始程序描述
  {arch} 架构(x86/x64/arm64)
  {arch_num} 架构数字(32/64/arm64)
  {version} 文件版本
  {company} 公司名称(CompanyName)
  {orig_filename} 原始文件名
  {copyright} 版权声明(LegalCopyright)

2. 条件语法

  • 条件(三元)语法{cond ? then     : else}{条件变量 ? 条件成立时的内容 : 条件不成立时的内容}

    • cond 为条件标识(不带花括号),当 cond 对应变量非空时渲染 then,否则渲染 else。支持取反:!cond
    • then else 为模板片段,允许使用占位符(例如 descstem)。
    • else 可省略(省略时不输出任何内容)。
    • cond / then / else 内可包含其他模板(支持嵌套)。
    示例:




    • {arch_num ? arch_num + '位' : '未知位数'}: 如果 arch_num 存在用 arch_num 加上,否则用未知位数
    • {product ? product : desc}: 如果 product 存在用 product,否则用 desc
  • 默认值语法: {var ?? default}{变量 ?? 默认值}
  • 当变量 var 非空时使用其值;为空时渲染 defaultdefault 可为嵌套模板)。
  • 等价于 {var ? var : default}
示例:




    • {product ?? desc}: 如果 product 存在用 product,否则用 desc
    • {desc ?? stem}: 如果 desc 存在用 desc,否则用 stem
3. 过滤器语法
过滤器用于对变量进行处理,例如转换为小写、大写、标题等。语法: {var | filter: arg}
支持的过滤器:
  • 转小写: {var | lower}
         
    将字符串转换为小写。
         
    例如 {desc | lower} 表示 desc 转换为小写
  • 转大写: {var | upper}
         
    将字符串转换为大写。
         
    例如 {desc | upper} 表示 desc 转换为大写
  • 首字母大写: {var | capitalize}
         
    将字符串的第一个字符转换为大写,其他字符转换为小写。
         
    例如 {desc | capitalize} 表示 desc 的第一个字符转换为大写,其他字符转换为小写。
  • 标题: {var | title}
         
    将字符串转换为标题大小写,即每个单词的首字母大写,其余字符小写。此标签不会将无关紧要的单词转换为小写。
         
    例如 {desc | title} 表示 desc 转换为标题大小写
  • 去除空格: {var | trim}
         
    去除字符串首尾的空格。
         
    例如 {desc | trim} 表示 desc 首尾的空格去除
  • 计算字符串长度: {var | length}
         
    计算字符串的长度(字符数)。
         
    例如 {desc | length} 表示计算 desc 的长度
  • 删除文本: {var | cut:"str"}
         
    删除字符串中的指定文本。
         
    例如 {desc | cut:"微信"} 表示 desc 中的微信删除
  • 替换文本: {var | replace:"old","new"}
         
    替换字符串中的指定文本。
         
    例如 {desc | replace:"微信","WeChat"} 表示 desc 中的微信替换为“WeChat””
  • 截断字符串: {var | truncate:10}
         
    截断字符串为指定长度,超出部分省略。
         
    例如 {desc | truncate:10} 表示如果 desc 长度超过 10 个字符,截取前 10 个字符
         
    desc 长度不超过 10 个字符,保持不变。
  • 日期格式化: {var | date:"format"}
         
    格式化日期变量。format 为日期格式字符串,例如 "{create_time     | date:'%Y-%m-%d %H:%M:%S'}" 支持的日期格式占位符:

    • %Y:四位数年份(例如 2023
    • %m:月份(01-12
    • %d:日期(01-31
    • %H24 小时格式小时(00-23
    • %M:分钟(00-59
    • %S:秒(00-59
常用示例

  • 使用产品名称(有则用产品名称,否则用文件名):
  1. <blockquote>[template]
复制代码
  • 显示版本与位数(仅当对应变量存在时):
  1. <blockquote>[template]
复制代码
说明:{version?'v' + version : ''} 表示有 version 就输出 'v' + version(注意前面的空格由模板控制)

  • 统一图标文件路径、备注
  1. <blockquote>[template]
复制代码
关于 {cond ? then : else} {var ?? default} 的选择
  • {var ?? default} 通常更短、更直观,适合如果变量为空则回退场景(例如 product 缺失用 stem)。
  • {cond ? then : else} 更灵活,可写更复杂的逻辑并包含 ! 取反。若只做缺失回退,优先使用 {var ?? default}
示例配置
基础配置示例

  • 配置快捷方式名称
  1. <blockquote>shortcut = [
复制代码
  • 仅为配置文件中的程序创建快捷方式,并使用模板
  1. <blockquote><blockquote>only_match = true
复制代码
纯配置模式示例
  1. <blockquote># 纯配置模式:不扫描目录,只创建指定的快捷方式
复制代码
常见问题
Q: 为什么某些程序没有创建快捷方式?
A: 可能的原因包括:
  • 程序目录结构不合理
  • 程序目录被添加到ignore表中
  • 绿色软件评分低于设定阈值(默认0.3
  • 使用--only-match模式但程序不在配置列表中
  • 程序可能是后台服务而非GUI应用
Q: 如何自定义快捷方式的名称?
A: 有两种方法:
  • [[shortcut]]中为单个程序指定:
  1. <blockquote>[[shortcut]]
复制代码
  2.使用模板统一设置:
  1. <blockquote>[template]
复制代码
Q: 创建了不需要的快捷方式
A: ignore =["dirname"] 中添加文件名或目录名。
开源许可
AutoShortcut 使用 MPL V2.0 协议开源,请尽量遵守开源协议。
致谢
  • slore
  • qq826773297
  • liangnijian
下载地址

由于权限不足无法上传附件,请前往 https://github.com/FirTech/AutoShortcut/releases 下载



点评

13# 有 AutoShortcut-x64.exe 附件: http://bbs.wuyou.net/forum.php?mod=viewthread&tid=447594&page=1#pid5839832  发表于 3 小时前

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

来自 14#
发表于 3 小时前 | 只看该作者
我帮楼主传一个上来

AutoShortcut-V2.0.0.zip

1.44 MB, 下载次数: 18, 下载积分: 无忧币 -2

回复

使用道具 举报

2#
发表于 5 小时前 | 只看该作者
感谢楼主的经验分享!
回复

使用道具 举报

3#
发表于 4 小时前 | 只看该作者
这个软件优秀
回复

使用道具 举报

4#
发表于 4 小时前 | 只看该作者
工具软件呢,在哪里?
回复

使用道具 举报

5#
发表于 4 小时前 | 只看该作者
谢谢分享
回复

使用道具 举报

6#
发表于 4 小时前 | 只看该作者
感谢分享
回复

使用道具 举报

7#
发表于 4 小时前 | 只看该作者
感谢分享
回复

使用道具 举报

8#
发表于 4 小时前 | 只看该作者
下载地址呢?看着功能强大。
回复

使用道具 举报

9#
发表于 4 小时前 | 只看该作者
谢谢分享
回复

使用道具 举报

10#
发表于 4 小时前 | 只看该作者
谢谢分享
回复

使用道具 举报

11#
发表于 4 小时前 | 只看该作者
工具软件呢?
回复

使用道具 举报

12#
发表于 4 小时前 | 只看该作者
好像用途广
回复

使用道具 举报

13#
发表于 3 小时前 | 只看该作者
本帖最后由 yyz2191958 于 2025-9-13 19:44 编辑

AutoShortcut-x64.exe

AutoShortcut-x64.rar

478.43 KB, 下载次数: 9, 下载积分: 无忧币 -2

AutoShortcut-x86.rar

448.39 KB, 下载次数: 5, 下载积分: 无忧币 -2

评分

参与人数 1无忧币 +5 收起 理由
奈绪 + 5 很给力!

查看全部评分

回复

使用道具 举报

15#
发表于 3 小时前 | 只看该作者
非常不错的工具,感谢楼主分享。
回复

使用道具 举报

16#
发表于 3 小时前 | 只看该作者
谢谢分享
回复

使用道具 举报

17#
发表于 3 小时前 | 只看该作者
好工具 支持了
回复

使用道具 举报

18#
发表于 3 小时前 | 只看该作者
好工具
PE外置利器
回复

使用道具 举报

19#
发表于 3 小时前 | 只看该作者
谢谢分享!
回复

使用道具 举报

20#
发表于 半小时前 | 只看该作者
感谢您的分享!
回复

使用道具 举报

21#
发表于 半小时前 | 只看该作者
谢谢分享
回复

使用道具 举报

22#
发表于 半小时前 | 只看该作者
感谢分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-9-13 22:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表