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

推荐订阅源

T
Tor Project blog
Cloudbric
Cloudbric
S
Secure Thoughts
Google Online Security Blog
Google Online Security Blog
N
News | PayPal Newsroom
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Privacy & Cybersecurity Law Blog
Simon Willison's Weblog
Simon Willison's Weblog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 三生石上(FineUI控件)
E
Exploit-DB.com RSS Feed
WordPress大学
WordPress大学
F
Fortinet All Blogs
O
OpenAI News
IT之家
IT之家
Vercel News
Vercel News
G
Google Developers Blog
Spread Privacy
Spread Privacy
T
The Blog of Author Tim Ferriss
T
The Exploit Database - CXSecurity.com
V
V2EX - 技术
I
Intezer
N
News and Events Feed by Topic
W
WeLiveSecurity
宝玉的分享
宝玉的分享
AWS News Blog
AWS News Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Proofpoint News Feed
I
InfoQ
The GitHub Blog
The GitHub Blog
C
Check Point Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
L
LangChain Blog
月光博客
月光博客
Microsoft Security Blog
Microsoft Security Blog
C
CERT Recently Published Vulnerability Notes
Hugging Face - Blog
Hugging Face - Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
Comments on: Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Schneier on Security
Schneier on Security
T
Threat Research - Cisco Blogs
博客园 - 【当耐特】
C
Cybersecurity and Infrastructure Security Agency CISA
Recent Announcements
Recent Announcements
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
Cyberwarzone
Cyberwarzone
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
H
Hackread – Cybersecurity News, Data Breaches, AI and More

博客园 - 萝卜L

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):