|
|
发表于 2026-1-30 19:52:00
|
显示全部楼层
本帖最后由 aloha20200628 于 2026-1-30 20:01 编辑
用 win11 24h2 实测,确已移除了 mshta 的命令行用法,即1-3楼采用的句式(但运行 *.hta 脚本文件或 bat+mshta 混编脚本依然被支持),此后在批处脚本中调用 jscript/vbs 代码少了一条捷径,还好有 bat+jscript 混编方法和 bat+vbs 混编方法可用,或直接采取功能更为丰富的 powershell 平替。针对 bat+vbs 混编方法可参见 http://www.bathome.net/thread-70763-1-1.html,但其版式远不如 bat+jscript 混编方法简洁,尤其是需用多行批处代码时。以下是两个简单的示例代码用来创建系统内置计算器的桌面快捷方式,一是用 bat+jscript 混编方法,二是采用批处直调 powershell 方法。
一。用 bat+jscript 混编方法(存为 test1.bat 运行)
- 2>1/* ::
- @echo off &set "scF=%userprofile%\desktop\计算器.lnk" &set "tP=c:\windows\system32\calc.exe"
- cscript /nologo /e:jscript "%~f0" "%scF%" "%tP%" &exit/b */
- v=WSH.arguments, ws=WSH.createObject('wscript.shell'), sc=ws.createShortcut(v(0)), sc.targetPath=v(1), sc.save(), WSH.quit();
复制代码 二。批处直调 powershell 方法(存为 test2.bat 运行)
- @echo off &set "scF=%userprofile%\desktop\计算器.lnk" &set "tP=c:\windows\system32\calc.exe"
- powershell -c "$ws=New-Object -ComObject WScript.Shell; $lnk=$ws.CreateShortcut('%scF%'); $lnk.TargetPath='%tp%'; $lnk.Save()" &exit/b
复制代码 |
|