【金山文档】Windows电脑软件管理-2022年10月1日
【金山文档】Windows电脑软件管理-2022年10月1日
第1步:新建【金山文档】 Windows电脑软件管理-2022年10月1日
不要怕麻烦,请用手机微信扫一扫登录金山文档Web网页版并在
金山文档Web网页版中新建【金山文档】 Windows电脑软件管理-2022年10月1日
有效防止因为电脑宕机死机、突然断电造成丢失正在编辑的文档正文内容。
第2步:新建文件夹
新建文件夹 C:\Prog\系统\Maye 用于保存 Maye 应用程序软件。
我反复试用之后还是觉得 "Maye 1.3.3-20220513.zip" 比较稳定、快速、易用、简洁。
Rolan无法设置应用程序的快捷键热键 和
音速启动 http://vstartapp.com/ 虽然用C++编写制作之后运行速度快多了,
但是新版本的热键管理和拼音首字母实时动态筛选等功能缺失,所以,果断放弃使用。
https://www.lanzoux.com/b0bqwqjvg
https://blog.arae.cc/post/25830.html
https://github.com/25H/Maya/releases
rem 批量新建分类文件夹 C: CD \ MD Prog CD Prog md 常用 md 全部 md 腾讯专区 md 游戏 md 视频 md 浏览器 md 聊天 md 输入法 md 下载 md 音乐 md 图片 md 安全 md 压缩刻录 md 系统 md 驱动 md 办公 md 编程 md 股票网银 md 剪辑 md 网络 md 桌面
第3步:部署Maye
打开官方网站、免费下载并解压缩 Maye 1.3.3-20220513.zip 应用程序软件到
C:\Prog\系统\Maye\Maye.exe
第4步:收集常用电脑软件
文件和文件夹名称中只可出现阿拉伯数字、英文字母、简体中文字符和英文半角减号这4种字符。
所有电脑软件(绿色免安装软件、单文件软件、
单文件自解压自动静默安装包、
软件安装包等各种应用程序软件)都集中统一保存在文件夹 C:\Prog 之中。
参考 “腾讯软件中心”的分类方法对所有软件进行分类存放
https://pc.qq.com/category/c0.html
每个软件都有专用的子文件夹,
软件专用子文件夹的文件夹名称用见名知意的、
简洁明了的、能快速找到的专用子文件夹名,
我建议大家以软件主窗口标题的一部分作为专用子文件夹名。
例如:SciTE4Autohotkey 的存放位置是
C:\Prog\编程\AutoHotkey\SciTE\SciTE.exe
例如:腾讯QQ 的存放位置是
C:\Prog\聊天\QQ\Bin\QQ.exe
例如:腾讯QQ 的存放位置是
C:\Prog\办公\VNote\VNote.exe
“腾讯软件中心”没有的软件可以根据具体使用情况分类整理收纳,
例如:Embarcadero.Delphi.11.0.v28.v17.0 的存放位置是
C:\Prog\编程\Delphi-11\bin\bds.exe -pDelphi
C:\Prog\编程\Delphi-11\Delphi-11.0-中英文一键切换助手-含操作说明.rar
第5步:设置Maye
设置系统热键
Total Commander 10.50 的热键设置为 ~ (波浪号,位于Esc键下方)
Everything 的热键设置为 F3
【金山文档】常用网址文档表格资源文件链接表 的热键设置为 F8
; 此脚本从此行开始 ;/* ;=========================================== ; 设置激活或者隐藏 Everything 主窗口的快捷键为 F8 (位于Esc键右边第8个键) ; ; 脚本作者 : Cloud-Sync ; ; 用法: (需要最新版本 AHK v1.1.31+) ; 1. 到Everything官方网站下载并安装Everything ; https://www.voidtools.com/zh-cn/downloads/ ; 2. 将本脚本保存为"Everything-F8.ahk"并复制到D:/Program/Everything文件夹中 ; 3. 使用Maye Lite来设置 Everything-F8.ahk 的热键 ; ; 升级更新历史: ; 版本1.0 2022年2月24日 新建 创建此AutoHotkey脚本并测试通过F4热键功能 ; ; 由于AutoHotkey的Hotkey语句设置的热键必需在任务栏或者桌面进程激活时才有效, ; 所以请使用Maye Lite来设置 Everything 的热键 ; https://www.autoahk.com/archives/43181 ; 我的腾讯QQ电子邮箱地址是 595076941@.qqcom ; https://blog.arae.cc/post/25830.html ; https://github.com/25H/Maya/releases/ ; ; 我的腾讯QQ电子邮箱地址是: 595076941@qq.com ; ;=========================================== ;*/ ;等待指定标题窗口出现 ; WinWait,Everything ahk_class EVERYTHING ahk_exe Everything.exe ; 运行 Everything 并调整 Everything 的窗口位置 #SingleInstance,Ignore loop,5 { DetectHiddenWindows,On Sleep,5 IfWinExist,QQ595076941_Everything ExitApp } Gui, Show, Hide,QQ595076941_Everything ; 强制自身以 ansi + 管理员权限 运行。 runwith("","ansi") #Persistent ; #NoTrayIcon DetectHiddenWindows,On SetTitleMatchMode,2 ActivateOrHideWindowHotkey_Everything() return ActivateOrHideWindowHotkey_Everything() { IfWinActive,ahk_class EVERYTHING { WinMinimize,ahk_class EVERYTHING ExitApp } else { Run,D:\Prog\Everything\Everything.exe WinWaitActive,ahk_class EVERYTHING,,5 ; Send,#{Right} ; WinMove,ahk_class 窗口类名,窗口文本,窗口左上角与屏幕上边沿的距离,窗口左上角与屏幕左边沿的距离,窗口左右宽度,窗口上下高度 loop,3 { WinMove,ahk_class EVERYTHING,,A_ScreenWidth/2,20,A_ScreenWidth/2-30,A_ScreenHeight-200 WinMove,ahk_exe Everything.exe,,A_ScreenWidth/2,20,A_ScreenWidth/2-30,A_ScreenHeight-200 } ExitApp } } ; 强制自身进程以 管理员权限 或 普通权限 或 ANSI 或 U32 或 U64 版本运行。 ; 例1: runwith("admin","u32") 强制自身以 u32 + 管理员权限 运行。 ; 例2: runwith("","ansi") 强制自身以 ansi 版本运行(权限不变)。 ; 例3: runwith("normal") 强制自身以 普通权限 运行(版本不变)。 RunWith(RunAsAdmin:="Default", ANSI_U32_U64:="Default") { ; 格式化预期的模式 switch, RunAsAdmin { case "Normal","Standard","No","0": RunAsAdmin:=0 case "Admin","Yes","1": RunAsAdmin:=1 case "default": RunAsAdmin:=A_IsAdmin default: RunAsAdmin:=A_IsAdmin } switch, ANSI_U32_U64 { case "A32","ANSI","A": ANSI_U32_U64:="AutoHotkeyA32.exe" case "U32","X32","32": ANSI_U32_U64:="AutoHotkeyU32.exe" case "U64","X64","64": ANSI_U32_U64:="AutoHotkeyU64.exe" case "default": ANSI_U32_U64:="AutoHotkey.exe" default: ANSI_U32_U64:="AutoHotkey.exe" } ; 获取传递给 “.ahk” 的用户参数(不是 /restart 之类传递给 “.exe” 的开关参数) for k, v in A_Args { if (RunAsAdmin=1) { ; 转义所有的引号与转义符号 v:=StrReplace(v, "\", "\\") v:=StrReplace(v, """", "\""") ; 无论参数中是否有空格,都给参数两边加上引号 ; Run 的内引号是 " ScriptParameters .= (ScriptParameters="") ? """" v """" : A_Space """" v """" } else { ; 转义所有的引号与转义符号 ; 注意要转义两次 Run 和 RunAs.exe v:=StrReplace(v, "\", "\\") v:=StrReplace(v, """", "\""") v:=StrReplace(v, "\", "\\") v:=StrReplace(v, """", "\""") ; 无论参数中是否有空格,都给参数两边加上引号 ; RunAs.exe 的内引号是 \" ScriptParameters .= (ScriptParameters="") ? "\""" v "\""" : A_Space "\""" v "\""" } } ; 判断当前 exe 是什么版本 if (!A_IsUnicode) RunningEXE:="AutoHotkeyA32.exe" else if (A_PtrSize=4) RunningEXE:="AutoHotkeyU32.exe" else if (A_PtrSize=8) RunningEXE:="AutoHotkeyU64.exe" ; 运行模式与预期相同,则直接返回。 ANSI_U32_U64="AutoHotkey.exe" 代表不对 ahk 版本做要求。 if (A_IsAdmin=RunAsAdmin and (ANSI_U32_U64="AutoHotkey.exe" or ANSI_U32_U64=RunningEXE)) return ; 如果当前已经是使用 /restart 参数重启的进程,则报错避免反复重启导致死循环。 else if (RegExMatch(DllCall("GetCommandLine", "str"), " /restart(?!\S)")) { 预期权限:=(RunAsAdmin=1) ? "管理员权限" : "普通权限" 当前权限:=(A_IsAdmin=1) ? "管理员权限" : "普通权限" ErrorMessage= (LTrim 预期使用: %ANSI_U32_U64% 当前使用: %RunningEXE% 预期权限: %预期权限% 当前权限: %当前权限% 程序即将退出。 ) MsgBox 0x40030, 运行状态与预期不一致, %ErrorMessage% ExitApp } else { ; 获取 AutoHotkey.exe 的路径 SplitPath, A_AhkPath, , Dir if (RunAsAdmin=0) { ; 强制普通权限运行 switch, A_IsCompiled { ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。 ; 工作目录不用单独指定,默认使用 A_WorkingDir 。 case, "1": Run, RunAs.exe /trustlevel:0x20000 "\"%A_ScriptFullPath%\" /restart %ScriptParameters%",, Hide default: Run, RunAs.exe /trustlevel:0x20000 "\"%Dir%\%ANSI_U32_U64%\" /restart \"%A_ScriptFullPath%\" %ScriptParameters%",, Hide } } else { ; 强制管理员权限运行 switch, A_IsCompiled { ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。 ; 工作目录不用单独指定,默认使用 A_WorkingDir 。 case, "1": Run, *RunAs "%A_ScriptFullPath%" /restart %ScriptParameters% default: Run, *RunAs "%Dir%\%ANSI_U32_U64%" /restart "%A_ScriptFullPath%" %ScriptParameters% } } ExitApp } } ; 所以请使用Maye Lite来设置 Everything 的热键 ; https://www.autoahk.com/archives/43181 ; 我的腾讯QQ电子邮箱地址是 595076941@.qqcom ; 此脚本到此行结束
; 此脚本从此行开始 ;/* ;=========================================== ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 {F10} ; https://www.autoahk.com/archives/37780 ; https://www.cnblogs.com/delphixx/p/15718194.html ; ; 脚本作者 : ds920 ; 最新版本 : 1.1 ; 更新时间 : 2021年12月22日 ; ; 用法: (需要最新版本 AHK v1.1.31+) ; 1. 到飞扬时空的新浪博客下载并安装TotalCommander中文增强版到文件夹D:/TotalCMD ; 2. 将本脚本保存为"RunTC.ahk"并复制到D:/TotalCMD文件夹中 ; 3. 使用Maye来设置RunTC.ahk的热键为 `(即~,位于Tab键上方的键) ; ; 升级更新历史: ; 版本1.0 2021年12月22日 新建 创建此AutoHotkey脚本并测试通过F10热键功能 ; 版本1.1 2021年12月22日 修改 调整删除 SetTimer 定时器时判断TC主窗口是否激活的顺序 ; 把基于窗口类的激活判断语句"if(WinActive("ahk_class" TTOTAL_CMD))"放在最外层 ; 防止有相同标题的窗口激活时(例如:相同标题的浏览器等等)窗口激活误判 ; ; 由于AutoHotkey的Hotkey语句设置的热键必需在任务栏或者桌面进程激活时才有效, ; 所以请使用Maye来设置Total Commander的热键为 {F10} ; https://blog.arae.cc/post/25830.html ; https://github.com/25H/Maya/releases/ ; ; 可以用 Total Commander 访问用RaiDrive异地远程连接群晖WebDAV文件服务并映射成的本地虚拟磁盘盘符 Z: 分区 ; ;=========================================== ;*/ #SingleInstance,Ignore loop,2 { DetectHiddenWindows,On Sleep,1 IfWinExist,QQ595076941_AutoAHKRun ExitApp } Gui, Show, Hide,QQ595076941_AutoAHKRun ; 强制自身以 ansi + 管理员权限 运行。 runwith("","ansi") #Persistent ; #NoTrayIcon DetectHiddenWindows,On SetTitleMatchMode,2 ; 设置激活或者隐藏 Total Commander 10.00 主窗口的快捷键为 F8 ; Hotkey,F8,ActivateOrHideWindowHotkey ActivateOrHideWindowHotkey() return ; ——————————————————– ActivateOrHideWindowHotkey() { ; MsgBox,PressedHotkey检测到已经按下快捷键 Sleep,1 IfWinActive,ahk_class TTOTAL_CMD { ; MsgBox,MinimizeWindow最小化指定窗口 WinMinimize,Total Commander ahk_class TTOTAL_CMD Sleep,1 ExitApp } else { ; MsgBox,ActivateWindow显示并且最大化并且激活指定窗口 SetTimer,RunTotalCMDTimer,5 SetTimer,ActivateWindowTimer,5 } } ; ——————————————————– RunTotalCMDTimer() { ; 1、如果程序没有运行则运行程序,这里我把可执行文件名改成了TotalCMD-v10.exe Sleep,1 Process,Exist,TotalCMD.exe if (%ErrorLevel%=0) { Sleep,1 IfExist,D:/Prog/TotalCMD/TotalCMD64.exe { Run,D:/Prog/TotalCMD/TotalCMD64.exe } else { MsgBox,找不到文件 D:/Prog/TotalCMD/TotalCMD64.exe ExitApp ; return } } } ;根据窗口类名显示并激活Total Commander窗口 ActivateWindowTimer() { ; 2、显示并激活(切换到)指定窗口 DetectHiddenWindows,On SetTitleMatchMode,2 WinActivate,Total Commander ahk_class TTOTAL_CMD WinGet, WinID, ID,Total Commander ahk_class TTOTAL_CMD DllCall("SwitchToThisWindow", "UInt", WinID, "UInt", 1) WinShow,Total Commander ahk_class TTOTAL_CMD WinMove,Total Commander ahk_class TTOTAL_CMD,,0,0,A_ScreenWidth,A_ScreenHeight WinMaximize,Total Commander ahk_class TTOTAL_CMD ; 3、检查指定窗口是否激活成功, ; 假如激活成功则退出Timer计时器循环执行, ; 如果激活失败则继续尝试激活指定窗口 Sleep,1 IfWinActive,ahk_class TTOTAL_CMD { ; Sleep,1 ; if(WinActive(ahk_class TTOTAL_CMD)) ; { ; Sleep,1 ; WinGetClass, MyClass, A ; IfInString,MyClass,TTOTAL_CMD ; { ; Sleep,1 ; IfWinActive,Total Commander ; { ; TCTitle:="Total Commander" ; Sleep,1 ; WinGetActiveTitle,Title ; IfInString,Title,%TCTitle% ; { SetTimer,RunTotalCMDTimer,Delete SetTimer,ActivateWindowTimer,Delete Sleep,1 ExitApp ; } ; } ; } ; } } } ; 强制自身进程以 管理员权限 或 普通权限 或 ANSI 或 U32 或 U64 版本运行。 ; 例1: runwith("admin","u32") 强制自身以 u32 + 管理员权限 运行。 ; 例2: runwith("","ansi") 强制自身以 ansi 版本运行(权限不变)。 ; 例3: runwith("normal") 强制自身以 普通权限 运行(版本不变)。 RunWith(RunAsAdmin:="Default", ANSI_U32_U64:="Default") { ; 格式化预期的模式 switch, RunAsAdmin { case "Normal","Standard","No","0": RunAsAdmin:=0 case "Admin","Yes","1": RunAsAdmin:=1 case "default": RunAsAdmin:=A_IsAdmin default: RunAsAdmin:=A_IsAdmin } switch, ANSI_U32_U64 { case "A32","ANSI","A": ANSI_U32_U64:="AutoHotkeyA32.exe" case "U32","X32","32": ANSI_U32_U64:="AutoHotkeyU32.exe" case "U64","X64","64": ANSI_U32_U64:="AutoHotkeyU64.exe" case "default": ANSI_U32_U64:="AutoHotkey.exe" default: ANSI_U32_U64:="AutoHotkey.exe" } ; 获取传递给 “.ahk” 的用户参数(不是 /restart 之类传递给 “.exe” 的开关参数) for k, v in A_Args { if (RunAsAdmin=1) { ; 转义所有的引号与转义符号 v:=StrReplace(v, "\", "\\") v:=StrReplace(v, """", "\""") ; 无论参数中是否有空格,都给参数两边加上引号 ; Run 的内引号是 " ScriptParameters .= (ScriptParameters="") ? """" v """" : A_Space """" v """" } else { ; 转义所有的引号与转义符号 ; 注意要转义两次 Run 和 RunAs.exe v:=StrReplace(v, "\", "\\") v:=StrReplace(v, """", "\""") v:=StrReplace(v, "\", "\\") v:=StrReplace(v, """", "\""") ; 无论参数中是否有空格,都给参数两边加上引号 ; RunAs.exe 的内引号是 \" ScriptParameters .= (ScriptParameters="") ? "\""" v "\""" : A_Space "\""" v "\""" } } ; 判断当前 exe 是什么版本 if (!A_IsUnicode) RunningEXE:="AutoHotkeyA32.exe" else if (A_PtrSize=4) RunningEXE:="AutoHotkeyU32.exe" else if (A_PtrSize=8) RunningEXE:="AutoHotkeyU64.exe" ; 运行模式与预期相同,则直接返回。 ANSI_U32_U64="AutoHotkey.exe" 代表不对 ahk 版本做要求。 if (A_IsAdmin=RunAsAdmin and (ANSI_U32_U64="AutoHotkey.exe" or ANSI_U32_U64=RunningEXE)) return ; 如果当前已经是使用 /restart 参数重启的进程,则报错避免反复重启导致死循环。 else if (RegExMatch(DllCall("GetCommandLine", "str"), " /restart(?!\S)")) { 预期权限:=(RunAsAdmin=1) ? "管理员权限" : "普通权限" 当前权限:=(A_IsAdmin=1) ? "管理员权限" : "普通权限" ErrorMessage= (LTrim 预期使用: %ANSI_U32_U64% 当前使用: %RunningEXE% 预期权限: %预期权限% 当前权限: %当前权限% 程序即将退出。 ) MsgBox 0x40030, 运行状态与预期不一致, %ErrorMessage% ExitApp } else { ; 获取 AutoHotkey.exe 的路径 SplitPath, A_AhkPath, , Dir if (RunAsAdmin=0) { ; 强制普通权限运行 switch, A_IsCompiled { ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。 ; 工作目录不用单独指定,默认使用 A_WorkingDir 。 case, "1": Run, RunAs.exe /trustlevel:0x20000 "\"%A_ScriptFullPath%\" /restart %ScriptParameters%",, Hide default: Run, RunAs.exe /trustlevel:0x20000 "\"%Dir%\%ANSI_U32_U64%\" /restart \"%A_ScriptFullPath%\" %ScriptParameters%",, Hide } } else { ; 强制管理员权限运行 switch, A_IsCompiled { ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。 ; 工作目录不用单独指定,默认使用 A_WorkingDir 。 case, "1": Run, *RunAs "%A_ScriptFullPath%" /restart %ScriptParameters% default: Run, *RunAs "%Dir%\%ANSI_U32_U64%" /restart "%A_ScriptFullPath%" %ScriptParameters% } } ExitApp } } ; 此脚本到此行结束
1、常规
打钩选中 开机时自动启动
打钩选中 启动时在后台运行
打钩选中 置于顶层
打钩选中 全屏勿扰
打钩选中 隐藏托盘图标
打钩选中 优先使用相对路径
打钩选中 自动备份数据文件
不要选中 开启新版本检查 (禁用)
不要选中 开启主动内存管理 (禁用)
不要选中 开启内存缓存 (禁用)
2、动作
打钩选中 多线程运行
不要选中 双击运行项目 (禁用)
不要选中 鼠标中键单击分类运行全部 (禁用)
打钩选中 唤醒时不保留滚动状态
打钩选中 快捷键 Alt + Space
打钩选中 鼠标快捷键 中键
打钩选中 X键单击
打钩选中 X键单击桌面
不要选中 右键双击任务栏 (禁用)
打钩选中 隐藏 失去焦点后
打钩选中 隐藏 运行项目后
3、界面
主窗口缩放比 改成 100
分类显示位置 改成 左侧
4、搜索
打钩选中 匹配首字母
打钩选中 匹配拼音
自定义搜索引擎 改成 ml|猫狸盘搜|false||https://www.alipansou.com/search?k=%s
第6步:阅读并学习使用 Maye
点击 Maye主窗口右上角 三横 按钮
点击 设置
点击 帮助
第7步:原地右键压缩备份 Maye 程序和Maye设置
退出 Maye 程序
打开文件夹 C:\Prog\系统\Maye
Ctrl + A 全选 文件夹 C:\Prog\系统\Maye 中的所有文件
右击Maye.exe文件图标
鼠标左键单击 "添加到"Maye.rar"(T)" 生成压缩包文件 Maye.rar
需要先安装 WinRAR 压缩软件才可以使用文件压缩功能。
rem 原地压缩备份Maye的批处理脚本程序文件 rem 2022年10月1日 rem 为了备份app.arae文件,先终止进程,没有app.arae文件会出现 pack fail 错误 TASKKILL /IM Maye.exe /F if exist "C:\Program Files (x86)\WinRAR\WinRAR.exe" ( "C:\Program Files (x86)\WinRAR\WinRAR.exe" a -agYYYY年MM月DD日HH时MM分SS秒 -m5 -r -y %~dp0Maye备份_.rar %~dp0app.arae %~dp0cfg.ini %~dp0JDB.json %~dp0Maye.exe %~dp0MB.dll %~dp0RunMayeAsAdmin.ahk %~dp0RunMayeAsAdmin.exe %~0 %~dp0以管理员身份运行Maye.jpg %~dp0skin\*.* )else ( "C:\Program Files\WinRAR\WinRAR.exe" a -agYYYY年MM月DD日HH时MM分SS秒 -m5 -r -y %~dp0Maye备份_.rar %~dp0app.arae %~dp0cfg.ini %~dp0JDB.json %~dp0Maye.exe %~dp0MB.dll %~dp0RunMayeAsAdmin.ahk %~dp0RunMayeAsAdmin.exe %~0 %~dp0以管理员身份运行Maye.jpg %~dp0skin\*.* ) START C:\Prog\系统\Maye\Maye.exe
第8步:备份 C:\Prog文件夹,防止丢失程序和配置
用FastCopy ver4.2.0 汉化版复制文件夹 C:\Prog到读写速度均为2000MB/s的,存储容量为4TB的SanDisk闪迪移动固态硬盘E81的根目录中
第9步:备份 C:\Prog文件夹,防止丢失程序和配置
用FastCopy ver4.2.0 汉化版复制文件夹 C:\Prog到Windows局域网共享文件夹
Windows设置SMB文件夹局域网共享后映射网络驱动器或者
"ES文件浏览器"安卓版 网络 局域网
或者易共享
第10步:备份 C:\Prog文件夹,防止丢失程序和配置
用FastCopy ver4.2.0 汉化版复制文件夹 C:\Prog到WinNAS共享文件夹
WinNAS - 耘想
第11步:备份 C:\Prog文件夹,防止丢失程序和配置
用WinSCP或者RaiDrive上传文件夹 C:\Prog到 Synology群晖NAS网络附属存储服务器的共享文件夹。
第12步:备份 C:\Prog文件夹,防止丢失程序和配置
上传文件夹 C:\Prog到阿里云盘网盘、百度网盘和天翼云盘
由于我目前的网络环境不是全千兆路由网络或者全万兆路由光电混合网络,
所以我暂时不准备在局域网映射网络驱动器或者
RaiDrive连接Synology群晖NAS网络附属存储服务器后映射网络驱动器虚拟磁盘盘符Z: 之中直接运行Maye 。
由于我不会用GitHub和GitBook所以暂时不采用
GitHub Desktop 来管理VNote笔记本、编程项目完整源代码和Windows应用程序软件合集
; ========== 此AHK脚本从此行开始 ========== ; 按照文件类型批量整理子文件夹中所有文件的AHK脚步 #SingleInstance,force loop,5 { DetectHiddenWindows,On Sleep,5 IfWinExist,QQ595076941_fenlei ExitApp } Gui, Show, Hide,QQ595076941_fenlei runwith("admin","ansi") ;强制自身以 ansi + 管理员权限 运行。 #Persistent ; #NoTrayIcon DetectHiddenWindows,On SetTitleMatchMode,2 ; ========== 此行是此AutoHotkey脚本的代码块段落分隔行 ========== ;~ 在大批量移动文件之前必需先询问一下 ; MsgBox, 4, , "Loop All Files in ScriptDir"`n"是否立即按照文件类型批量整理子目录中所有文件?"`n`ncontinue? ; IfMsgBox, No ; ExitApp ; MsgBox, 4, , "Loop All Files in ScriptDir"`n"是否立即按照文件类型批量整理子目录中所有文件?"`n`ncontinue? ; IfMsgBox, No ; ExitApp ; 枚举遍历穷举 所有本地磁盘分区盘符 DriveGet,DriveList,List loop, Parse, DriveList { IfExist,%A_LoopField%:\Prog\系统\Maye\Maye.exe { Run,%A_LoopField%:\Prog\系统\Maye\Maye.exe ExitApp } } ; MsgBox, 64, , %A_ScriptDir%"All Files in ScriptDir is Classifyed And Arranged"`n"恭喜你, 已经按照文件类型完成所有当前脚本所在目录和子目录中文件的分类整理"! ;~ MsgBox, 64, , "操作失败的文件共有"%ErrFileCount%"个,详细出错原因列表见ErrFileList.txt文件"! return ; ========== 此行是此AutoHotkey脚本的代码块段落分隔行 ========== ; 强制自身进程以 管理员权限 或 普通权限 或 ANSI 或 U32 或 U64 版本运行。 ; 例1: runwith("admin","u32") 强制自身以 u32 + 管理员权限 运行。 ; 例2: runwith("","ansi") 强制自身以 ansi 版本运行(权限不变)。 ; 例3: runwith("normal") 强制自身以 普通权限 运行(版本不变)。 runwith(RunAsAdmin:="Default", ANSI_U32_U64:="Default") { ; 格式化预期的模式 switch, RunAsAdmin { case "Normal","Standard","No","0": RunAsAdmin:=0 case "Admin","Yes","1": RunAsAdmin:=1 case "default": RunAsAdmin:=A_IsAdmin default: RunAsAdmin:=A_IsAdmin } switch, ANSI_U32_U64 { case "A32","ANSI","A": ANSI_U32_U64:="AutoHotkeyA32.exe" case "U32","X32","32": ANSI_U32_U64:="AutoHotkeyU32.exe" case "U64","X64","64": ANSI_U32_U64:="AutoHotkeyU64.exe" case "default": ANSI_U32_U64:="AutoHotkey.exe" default: ANSI_U32_U64:="AutoHotkey.exe" } ; 获取传递给 “.ahk” 的用户参数(不是 /restart 之类传递给 “.exe” 的开关参数) for k, v in A_Args { if (RunAsAdmin=1) { ; 转义所有的引号与转义符号 v:=StrReplace(v, "\", "\\") v:=StrReplace(v, """", "\""") ; 无论参数中是否有空格,都给参数两边加上引号 ; Run 的内引号是 " ScriptParameters .= (ScriptParameters="") ? """" v """" : A_Space """" v """" } else { ; 转义所有的引号与转义符号 ; 注意要转义两次 Run 和 RunAs.exe v:=StrReplace(v, "\", "\\") v:=StrReplace(v, """", "\""") v:=StrReplace(v, "\", "\\") v:=StrReplace(v, """", "\""") ; 无论参数中是否有空格,都给参数两边加上引号 ; RunAs.exe 的内引号是 \" ScriptParameters .= (ScriptParameters="") ? "\""" v "\""" : A_Space "\""" v "\""" } } ; 判断当前 exe 是什么版本 if (!A_IsUnicode) RunningEXE:="AutoHotkeyA32.exe" else if (A_PtrSize=4) RunningEXE:="AutoHotkeyU32.exe" else if (A_PtrSize=8) RunningEXE:="AutoHotkeyU64.exe" ; 运行模式与预期相同,则直接返回。 ANSI_U32_U64="AutoHotkey.exe" 代表不对 ahk 版本做要求。 if (A_IsAdmin=RunAsAdmin and (ANSI_U32_U64="AutoHotkey.exe" or ANSI_U32_U64=RunningEXE)) return ; 如果当前已经是使用 /restart 参数重启的进程,则报错避免反复重启导致死循环。 else if (RegExMatch(DllCall("GetCommandLine", "str"), " /restart(?!\S)")) { 预期权限:=(RunAsAdmin=1) ? "管理员权限" : "普通权限" 当前权限:=(A_IsAdmin=1) ? "管理员权限" : "普通权限" ErrorMessage= (LTrim 预期使用: %ANSI_U32_U64% 当前使用: %RunningEXE% 预期权限: %预期权限% 当前权限: %当前权限% 程序即将退出。 ) MsgBox 0x40030, 运行状态与预期不一致, %ErrorMessage% ExitApp } else { ; 获取 AutoHotkey.exe 的路径 SplitPath, A_AhkPath, , Dir if (RunAsAdmin=0) { ; 强制普通权限运行 switch, A_IsCompiled { ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。 ; 工作目录不用单独指定,默认使用 A_WorkingDir 。 case, "1": Run, RunAs.exe /trustlevel:0x20000 "\"%A_ScriptFullPath%\" /restart %ScriptParameters%",, Hide default: Run, RunAs.exe /trustlevel:0x20000 "\"%Dir%\%ANSI_U32_U64%\" /restart \"%A_ScriptFullPath%\" %ScriptParameters%",, Hide } } else { ; 强制管理员权限运行 switch, A_IsCompiled { ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。 ; 工作目录不用单独指定,默认使用 A_WorkingDir 。 case, "1": Run, *RunAs "%A_ScriptFullPath%" /restart %ScriptParameters% default: Run, *RunAs "%Dir%\%ANSI_U32_U64%" /restart "%A_ScriptFullPath%" %ScriptParameters% } } ExitApp } } ; ========== 此AutoHotkey脚本到此行结束 ==========
' 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的VBS源码文件
' 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的VB6源码文件
// 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的Delphi源码文件
program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.ShowMainForm := False; Application.Run; end.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} // uses // ShellAPI; procedure TForm1.FormCreate(Sender: TObject); var Drive: Char; DriveLetter: string[4]; //Drives: TStrings; begin for Drive := 'A' to 'Z' do begin DriveLetter := Drive + ':\'; if GetDriveType(PChar(Drive + ':\')) = DRIVE_FIXED then //Drives.Add(DriveLetter); if FileExists(Drive + ':\Prog\系统\Maye\Maye.exe') then begin //showmessage(Drive + ':\Prog\系统\Maye\Maye.exe'); ShellExecute(0, 'open', PAnsiChar(AnsiString(Drive + ':\Prog\系统\Maye\Maye.exe')), '', '', SW_SHOWNORMAL) end; end;
Application.Terminate; end; end.
// 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的VC6源码文件
// 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的C源码文件
// 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的C#源码文件
# 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的Python源码文件
# 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的Ruby源码文件
-- 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的Lua源码文件
==========================================================
rem 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的批处理脚本源码文件
@echo off rem 搜索并且运行容量是4TB的SanDisk闪迪移动固态硬盘E81中的Maye程序的批处理脚本源码文件 rem set "FileName=Maye.EXE" echo 正在搜索,请稍候... for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( if exist %%a:\Prog\系统\Maye\Maye.exe ( start %%a:\Prog\系统\Maye\Maye.exe exit ) )