[in]脚本内容【值/表达式】#NoTrayIcon ; 确保脚本启动后不在系统托盘显示图标\r\n
#SingleInstance Off ; 允许多次运行\r\n
SetBatchLines, -1 ; 提高运行速度\r\n
\r\n
; =================================================================\r\n
; 1. 初始化和参数预处理\r\n
; =================================================================\r\n
\r\n
; 获取第一个参数(%1)。如果为空,则默认为 "txt"\r\n
FileArg := A_Args[1] ? A_Args[1] : "txt"\r\n
FileArg := Trim(FileArg, " `t") ; 清除参数首尾的空格和Tab\r\n
\r\n
; --- 容错处理:将全角句号替换为半角句号 ---\r\n
FileArg := StrReplace(FileArg, "。", ".")\r\n
\r\n
DefaultType := "txt"\r\n
FileType := ""\r\n
BaseName := ""\r\n
\r\n
; 2. 解析短别名、新旧 Office 格式和文件类型\r\n
Switch FileArg {\r\n
; --- 短别名 ---\r\n
case "d":\r\n
FileType := "docx"\r\n
case "p":\r\n
FileType := "pptx"\r\n
case "x":\r\n
FileType := "xlsx"\r\n
; --- 旧版 Office 别名 (映射到新版) ---\r\n
case "doc":\r\n
FileType := "docx"\r\n
case "ppt":\r\n
FileType := "pptx"\r\n
case "xls":\r\n
FileType := "xlsx"\r\n
; --- 常用文本文件 ---\r\n
case "txt", "md", "py", "json", "js", "ahk":\r\n
FileType := FileArg\r\n
default:\r\n
; 假设它是自定义文件名或带后缀的输入\r\n
BaseName := FileArg\r\n
}\r\n
\r\n
; 3. 处理自定义文件名和后缀\r\n
if (BaseName != "")\r\n
{\r\n
; 检查输入是否包含后缀\r\n
If InStr(BaseName, ".")\r\n
{\r\n
; 提取文件名和后缀\r\n
SplitPath, BaseName, OutName, OutDir, OutExt, OutNameNoExt\r\n
\r\n
FileType := OutExt ; 后缀 (例如 docx)\r\n
BaseName := OutNameNoExt ; 文件名主体\r\n
\r\n
; --- 容错处理:处理 ".py" 或 "。py" 这种输入 ---\r\n
If (BaseName = "") {\r\n
; 此时用户输入的是 ".py",BaseName 留空,以便后续使用日期命名\r\n
BaseName := ""\r\n
}\r\n
}\r\n
; 如果输入不含后缀(例如 "Summary"),则使用默认类型\r\n
Else If (FileType = "") {\r\n
FileType := DefaultType\r\n
}\r\n
}\r\n
\r\n
; 4. 确定最终的文件名主体 (BaseName)\r\n
If (FileType != "") {\r\n
; 如果 BaseName 为空 (例如输入是 "d", "py", 或 ".py"),则使用日期\r\n
If (BaseName = "") {\r\n
FormatTime, BaseName, , yyyyMMdd ; AHK 内置函数,稳定获取 YYYYMMDD\r\n
}\r\n
} Else {\r\n
; 兜底:如果 FileType 最终没有被确定,则使用默认类型\r\n
FileType := DefaultType\r\n
If (BaseName = "") {\r\n
FormatTime, BaseName, , yyyyMMdd\r\n
}\r\n
}\r\n
\r\n
; 5. 构造最终文件名和防冲突逻辑\r\n
FileExt := "." . FileType\r\n
FullFileName := BaseName . FileExt\r\n
\r\n
If FileExist(FullFileName) {\r\n
FormatTime, TimeStamp, , HHmmss\r\n
FullFileName := BaseName . "-" . TimeStamp . FileExt\r\n
}\r\n
\r\n
; 6. 创建文件\r\n
FileAppend,, %FullFileName% ; 创建一个 0 字节的空文件\r\n
\r\n
; 7. 打开文件 (Run 命令使用系统默认关联程序打开)\r\n
Run, %FullFileName%\r\n
\r\n
; 8. 立即退出脚本\r\n
ExitApp
[in]脚本类型【值/表达式】AHK
[in]扩展名【无输入】
[in]使用指定软件【无输入】
[in]命令行参数模板【无输入】%FILE%
[in]以管理员身份运行【值/表达式】False
[in]等待进程结束【值/表达式】False
[in]文件编码【值/表达式】UTF8-NOBOM
[in]工作目录【值/表达式】D:\Files
[in]脚本参数【值/表达式】
[in]控制台输出编码【值/表达式】utf8
脚本文件路径:F:\TEMP\quicker-新建文件-0F02ED57B025312B09BD4FD6725794E8D254E6CE.ahk
耗时:91ms