Board logo

标题: [系统相关] 批处理创建快捷方式 [打印本页]

作者: httplin    时间: 2022-11-24 11:59     标题: 批处理创建快捷方式

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. for /f "delims=: tokens=1,*" %%a in (1.txt) do (
  4. set "SrcFile=C:\Program Files\Google\Chrome\Application\chrome.exe"
  5. set "Args= ---profile-directory=%%a"
  6. set "LnkFile=%%a.lnk"
  7. call :CreateShort "!SrcFile!" "!Args!" "!LnkFile!"
  8. pause & goto :eof
  9. ::Arguments              目标程序参数
  10. ::Description            快捷方式备注
  11. ::FullName               返回快捷方式完整路径
  12. ::Hotkey                 快捷方式快捷键
  13. ::IconLocation           快捷方式图标,不设则使用默认图标
  14. ::TargetPath             目标
  15. ::WindowStyle            窗口启动状态
  16. ::WorkingDirectory       起始位置
  17. :CreateShort
  18. mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""DeskTop"") & ""\%~3""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Arguments=""%~2"":b.Save:close")
  19. )
复制代码
请大神帮下忙,为什么读取文本,文本内容1,2,3每行一个数字,但是只能生成一个1,为什么不能全部生成
作者: czjt1234    时间: 2022-11-24 15:17

本帖最后由 czjt1234 于 2022-11-24 15:19 编辑

do的()位置有问题
作者: hnfeng    时间: 2022-11-25 08:58

本帖最后由 hnfeng 于 2022-11-25 09:02 编辑

粗略看,貌似是一个 ) 的位置和 goto :eof 的位置 有问题,请尝试一下:

........
call :CreateShort "!SrcFile!" "!Args!" "!LnkFile!"
)
pause & exit

........
:CreateShort
mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""DeskTop"") & ""\%~3""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Arguments=""%~2"":b.Save:close")
goto :eof




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2