批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[系统相关] 批处理创建快捷方式

  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:19 编辑

do的()位置有问题

QQ 20147578

TOP

本帖最后由 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

TOP

返回列表