运行脚本
执行一段脚本。除 CMD 命令外,会先写入临时文件再交给对应程序。启动现成 exe / 打开文件请用 运行或打开。
当前模块定义
sys:runScript输入 12 · 输出 3 · 枚举 3
输入参数
- 脚本内容
scriptText必填要运行的脚本内容
- 脚本类型
typeEnum必填要执行的脚本类型
8 个选项CMD命令 (完成后保留窗口、CMD命令 (完成后关闭窗口、CMD命令 (隐藏命令行窗口
CMD命令 (完成后保留窗口默认CMD_KCMD命令 (完成后关闭窗口CMD_CCMD命令 (隐藏命令行窗口CMD_HBAT批处理脚本(.batBATCMD批处理脚本(.cmdCMD_FPowerShell脚本(.ps1PSAutoHotKey脚本(.ahkAHK自定义脚本类型CUSTOM - 扩展名
extText必填自定义脚本文件的扩展名(如: .ps1 )
- 文件编码
encodingEnum必填写入文件的编码格式
8 个选项UTF8 (有BOM、UTF8 (无BOM、UTF-16 LE
UTF8 (有BOMutf-8UTF8 (无BOMUTF8-NOBOMUTF-16 LEutf-16UTF-16 BEutf-16BEASCIIus-asciiUTF7utf-7UTF32utf-32系统默认(gb2312默认default - 使用指定软件
runnerText必填使用指定的程序运行脚本。如果双击脚本可以直接运行,则不需要指定。
- 命令行参数模板
argTemplateText必填使用指定软件时指定命令行参数的格式。%FILE% 代替脚本文件的路径。
- 工作目录
workingDirText可选不填写(自动为资源管理器的当前目录或桌面目录)或具体的工作目录路径。
- 脚本参数
scriptParamsText可选为脚本传递的参数。将会被追加到运行脚本的命令行中。
- 以管理员身份运行
runAsAdminBoolean可选是否以管理员身份运行脚本。隐藏窗口或输出控制台内容时,不支持以管理员身份运行。
- 等待进程结束
waitToExitBoolean可选等待此进程结束后再进行后续操作
- 控制台输出编码
outputEncodingEnum必填控制台输出编码。如果输出遇到乱码,尝试修改此选项。
UTF8utf8OEM默认oem - 失败后停止
stopIfFailBoolean可选失败后是否停止动作
输出参数
- 控制台输出
stdoutText捕获控制台输出(输出stdout,为空时输出stderr),会自动等待进程结束。输出此内容时,命令行窗口将不显示。
- 标准输出
stdoutOnlyText捕获标准输出(stdout),会自动等待进程结束。输出此内容时,命令行窗口将不显示。
- 错误输出
stderrText捕获错误输出(stderr),会自动等待进程结束。输出此内容时,命令行窗口将不显示。
概述
运行脚本
参数说明
脚本内容:要执行的代码,可用插值。CMD 命令类型不要写太复杂(多行会用 & 拼成一行)。
脚本类型:
- CMD命令 (完成后保留窗口):
cmd /K - CMD命令 (完成后关闭窗口):
cmd /C - CMD命令 (隐藏命令行窗口):
cmd /c且不显示窗口。此时不能以管理员运行。 - BAT批处理脚本(.bat) / CMD批处理脚本(.cmd):写入对应扩展名后执行。
- PowerShell脚本(.ps1):
powershell.exe -NoProfile -ExecutionPolicy Unrestricted -File {fileName} - AutoHotKey脚本(.ahk):需要本机已安装 AutoHotKey。
- 自定义脚本类型:自己指定扩展名和运行程序。
运行脚本
扩展名:仅自定义。如 .ps1。
使用指定软件:仅自定义。双击就能跑可留空;否则写程序完整路径。已在 PATH 里可以只写文件名,例如 cscript.exe。
命令行参数模板:仅自定义。%FILE% 代表生成的临时脚本路径。
文件编码:写入临时文件的编码。不合适会不执行或乱码。bat / cmd 一般用系统默认。
工作目录:留空则用资源管理器当前窗口路径(在资源管理器上触发时)或桌面。
脚本参数:追加到命令行。自定义和三种 CMD 命令类型不可用。
以管理员身份运行:隐藏窗口或把控制台输出接到变量时无效。
等待进程结束:等这个进程退出再继续。脚本里再拉起的子进程不会被等。
控制台输出编码:控制台乱码时在 OEM / UTF8 之间切换。
失败后停止:启动失败是否中止动作。默认开启。
输出
接下面任一项都会自动等待进程结束,并且不显示命令行窗口:
- 控制台输出:stdout;为空则出 stderr。
- 标准输出:只捕获 stdout。
- 错误输出:只捕获 stderr。
限制与排障
- 隐藏窗口或输出控制台时,不能用管理员身份。
- CMD 命令类型把多行收成一行,复杂批处理请改用 BAT / CMD 文件类型。
相关链接
更新于