标题: [文件操作] [已解决]创建快捷方式的批处理总是提示缺少括号的原因是什么? [打印本页]
作者: lzf_voip 时间: 2015-5-18 09:40 标题: [已解决]创建快捷方式的批处理总是提示缺少括号的原因是什么?
本帖最后由 lzf_voip 于 2015-5-18 12:07 编辑
不知道是不是转义字符用的不当的原因,改来改去不是这里缺少 ')’,就是那里缺少 ')’,麻烦哪位大神帮我测试一下问题在哪,多谢!
批处理如下:- @echo off & setlocal enabledelayedexpansion
-
- set "arg=-extoff"
- set "NewWorkingDirectory=D:\Program Files\"
-
- for /f "tokens=1* delims=:" %%a in ('more +9 %0') do (
- if exist "%%a:%%b" mshta VBScript:Execute^("Set a=CreateObject^(""WScript.Shell""^):Set b=a.CreateShortcut^(""%%a:%%b""^):b.Arguments=^(""%arg%""^):b.WorkingDirectory=^(""%NewWorkingDirectory%""^):b.Save:close"^)
- )
- exit
- ::"D:\Program Files\abc.lnk"
复制代码
作者: apang 时间: 2015-5-18 11:39
除最后一个转义字符外,其它转义字符通通删掉
作者: lzf_voip 时间: 2015-5-18 12:06
回复 2# apang
谢谢,我刚才研究出来的结果证明了你的建议完全正确。
作者: ygqiang 时间: 2015-5-18 12:07
不知道是不是转义字符用的不当的原因,改来改去不是这里缺少 ')’,就是那里缺少 ')’,麻烦哪位大神帮我测 ...
lzf_voip 发表于 2015-5-18 09:40
- del /q "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\accessories\注销.lnk"
-
- rem 创建exe文件的lnk快捷方式
- ::指定路径和名称
- set "LnkFile=C:\ProgramData\Microsoft\Windows\Start Menu\Programs\accessories\注销.lnk"
- set "LnkFile1=%userprofile%\「开始」菜单\注销.lnk"
- ::指定主程序
- set "TargetPath=%SystemRoot%\system32\logoff.exe"
- ::指定起始位置
- set "WorkingDirectory=%SystemRoot%\system32"
- ::指定快捷键
- set "Hotkey=Ctrl+Shift+L"
- ::指定图标
- set "IconLocation=%windir%\system32\shell32.dll,44"
-
- del "%LnkFile%" /f /q >nul 2>nul
-
- call :CreateShort "%LnkFile%" "%TargetPath%" "%WorkingDirectory%" "%HotKey%" "%IconLocation%"
- call :CreateShort "%LnkFile1%" "%TargetPath%" "%WorkingDirectory%" "%HotKey%" "%IconLocation%"
-
- ::Arguments 目标程序参数
- ::Description 快捷方式备注
- ::FullName 返回快捷方式完整路径
- ::Hotkey 快捷方式快捷键
- ::IconLocation 快捷方式图标,不设则使用默认图标
- ::TargetPath 目标
- ::WindowStyle 窗口启动状态
- ::WorkingDirectory 起始位置
- :CreateShort
- mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(""%~1""):b.TargetPath=""%~2"":b.WorkingDirectory=""%~3"":b.HotKey=""%~4"":b.IconLocation=""%~5"":b.Save:close")
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |