惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
S
Security Affairs
阮一峰的网络日志
阮一峰的网络日志
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog
雷峰网
雷峰网
Recent Announcements
Recent Announcements
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
博客园_首页
The Cloudflare Blog
M
MIT News - Artificial intelligence
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
S
SegmentFault 最新的问题
P
Proofpoint News Feed
Y
Y Combinator Blog
Jina AI
Jina AI
博客园 - 聂微东
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
F
Full Disclosure
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
T
Tailwind CSS Blog
J
Java Code Geeks
Vercel News
Vercel News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
T
The Blog of Author Tim Ferriss
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 三生石上(FineUI控件)
W
WeLiveSecurity
PCI Perspectives
PCI Perspectives
Attack and Defense Labs
Attack and Defense Labs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
宝玉的分享
宝玉的分享
IT之家
IT之家
Hacker News: Ask HN
Hacker News: Ask HN
The Register - Security
The Register - Security
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs

博客园 - 萝卜L

TIA 轨迹 Trace USB Device Tree Viewer & 设备管理器 - 通用串行总线控制器 树莓派 DT 西门子 PLC 1500 过程时间性能 树莓派5 GPIO 输出 PWM PD 协议 E-Marker芯片、私有协议,联想 ThinkPad 135W 电源 Slim方口 ThinkPlus电源 树莓派 RaspberryPi 5 硬件 设备(dev) 芯片(SoC) BCM 线路编号(line) GPIO 针脚 gpioinfo pinout Solid Edge 仿真 Dynamic Designer Motion (DDM) Solid Edge PMI 智能尺寸 尺寸平面 Solid_Edge,尺寸、测量,从动、驱动,同步、顺序建模,变量表 变量类型 Dim Var SolidWorks & Solid Edge 装配体 零件 部件 移动 Win10 隐藏的 占用空间的 大文件 组态王 7.5 西门子 驱动 各版本 严重 异常 PLC、上位(HMI)接口约定 Modbus RTU TCP 网关 拓扑 TIA SIM 授权 iup "creation only"的时刻 lua 5.3 glue srlua/wsrlua console/windows CMake Luarocks OCX(ActiveX COM) 控件测试容器(tstcon32) 失败 问题 解决 Lua IUP Plot 柱状图 示例 GitHub Desktop 连接 Gitee 失败 EPLAN P8 学习笔记 配图 20250114 TIA Portal V19 STEP 7 Professional WinCC - Setup 安装过程中出错 失败 笔记 配图 20250110 windows zeroBrane Studio(zbstudio/zbs)配置 iuplua V3 Lua 找不到指定模块 找不到指定的程序 V2 powershell 作服务端 响应网络(socket tcp)连接 提供文件夹大小查询服务 V1.1 网络 主机名 地址 解析 记戴尔/Dell U2913WM 显示器故障
通过批处理快捷方式参数化调用 Lua 脚本:完整方案与备选方式
萝卜L · 2026-04-10 · via 博客园 - 萝卜L

 一、核心方案:批处理作为参数转发器

目标

  • 通过快捷方式启动一个批处理文件(Pass_Arg_WorkDirectory_To_Lua.bat

  • 批处理自动调用同目录下的 Lua 脚本Read_Arg_WorkDirectory.lua,见后)

  • 快捷方式设置的“起始位置”(即工作目录)传递给 Lua 脚本

  • 快捷方式“目标”中附加的所有参数原样传递给 Lua 脚本

批处理代码(Pass_Arg_WorkDirectory_To_Lua.bat

@echo off
set "SCRIPT_NAME=Read_Arg_WorkDirectory.lua"
REM 获取批处理所在目录(固定位置)
set "SCRIPT_DIR=%~dp0"
REM 拼接完整脚本路径
set "SCRIPT_PATH=%SCRIPT_DIR%%SCRIPT_NAME%"

REM 调用 lua.exe,传递:
REM   1. Lua 脚本的完整路径
REM   2. 可选,冗余,当前工作目录(%cd%,即快捷方式的“起始位置”)
REM   3. 快捷方式附加的所有参数(%*)
lua.exe "%SCRIPT_PATH%" "%cd%" %*

REM 调试时可取消下面注释
REM echo lua.exe "%SCRIPT_PATH%" "%cd%" %*
REM pause

参数传递映射关系

Lua 脚本如何接收并显示这些信息

 Read_Arg_WorkDirectory.lua 实现:

  • 获取工作目录:通过 io.popen("cd") 或 lfs.currentdir() 显示当前目录(即批处理中 %cd% 传递的值)

  • 获取命令行参数:直接打印 arg 表,其中:

    • arg[0] = 脚本自身完整路径

    • arg[1] = 批处理传入的工作目录(%cd%

    • arg[2]arg[3] … = 快捷方式附加的参数

脚本同时包含了对 Lua 解释器路径的探测(通过 package.cpatharg[-1]where lua 等),但这部分不影响参数接收的核心逻辑。

快捷方式设置示例

  1. 创建 Pass_Arg_WorkDirectory_To_Lua.bat 的快捷方式 Pass_Arg_WorkDirectory_To_Lua - 快捷方式.bat

  2. 右键快捷方式 → 属性

  3. 起始位置:填写希望传递的工作目录,例如 C:\data\input
    若留空,则工作目录自动为快捷方式所在的文件夹

  4. 目标:在原有路径后追加参数,例如:

    D:\scripts\Pass_Arg_WorkDirectory_To_Lua.bat "hello" 123 --verbose
  5. 双击快捷方式运行

运行效果

当 Lua 脚本执行时,会输出类似:

Working Directory:
  from CMD:  C:\data\input
  from LFS:  C:\data\input
Command Line Arguments (`arg` table):
  arg[0]:     D:\scripts\Read_Arg_WorkDirectory.lua
  arg[1]:     C:\data\input
  arg[2]:     hello
  arg[3]:     123
  arg[4]:     --verbose

二、备选方式:

1. 快捷方式直接指向 .lua 文件(有限支持)

  • 可为 Lua 脚本创建自定义扩展名(例如 .luae),并将其文件类型关联到 lua.exe
  • 可改变工作目录:通过“起始位置”设置 ✅

  • 可传递参数:❌ 无法传递(双击时相当于 lua.exe script.lua,无额外参数)

  • 结论:仅当不需要参数时可使用。

2. 硬链接与符号链接(不支持参数传递)

经过测试(Windows + Lua 5.3):