回复 1# adan1
你的代码看上去没有问题,
只是双击运行会出错,启用变量延迟扩展即可,
拖放文件去执行,可以正常运行。
要是放到P文件中运行,搞成多行修改起来方便:- @echo off&setlocal EnableDelayedExpansion
- set "p=%~1"
- if /i not "!p:~-4!"==".LNK" (
- start /i "" C:\a.exe "%~1" /L
- exit
- ) else (
- mshta VBScript:Execute("set wsh=CreateObject(""WScript.Shell""): set lnk=wsh.CreateShortcut(""%~1""): wsh.run ""C:\a.exe"" &"" """"""& lnk.TargetPath &"""""" """"""& lnk.Arguments &"""""" ""& ""/L"": close")
- )
- pause
复制代码 一定要搞成单行:- @echo off&setlocal EnableDelayedExpansion
- set "p=%~1"
- if /i not "!p:~-4!"==".LNK" ((start "" /i C:\a.exe "%~1" /L)&exit) else mshta VBScript:Execute("set wsh=CreateObject(""WScript.Shell""): set lnk=wsh.CreateShortcut(""%~1""): wsh.run ""C:\a.exe"" &"" """"""& lnk.TargetPath &"""""" """"""& lnk.Arguments &"""""" ""& ""/L"": close")
- pause
复制代码
|