[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]win7下bat命令,在开始菜单的附件accessories下,建快捷方式,并可运行?

本帖最后由 ygqiang 于 2014-12-3 11:54 编辑

[已解决]win7系统bat命令,在开始菜单的附件accessories下面,建立快捷方式,并且可以运行?

在下面这个位置建立快捷方式
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\accessories\
(win7系统下,开始菜单下面的附件/accessories路径)

win7系统下,下面这个bat命令,在「开始」菜单下面建立快捷方式,并且可以运行。
startmenu改成accessories,好像也没用。

有人说:“startmenu是特殊文件夹所以可以用specialfolders函数获取路径
accessories不是特殊文件,所以需要把specialfolders函数整个替换成确定的accessories文件夹路径”
  1. ::创建exe文件的lnk快捷方式
  2. @echo off
  3. set "SrcFile=%SystemRoot%\system32\shutdown.exe"
  4. set "Args=-s -t 2"
  5. set "LnkFile=关机.LNK"
  6. call :CreateShort "%SrcFile%" "%Args%" "%LnkFile%"
  7. pause & goto :eof
  8. ::Arguments              目标程序参数
  9. ::Description            快捷方式备注
  10. ::FullName               返回快捷方式完整路径
  11. ::Hotkey                 快捷方式快捷键
  12. ::IconLocation           快捷方式图标,不设则使用默认图标
  13. ::TargetPath             目标
  14. ::WindowStyle            窗口启动状态
  15. ::WorkingDirectory       起始位置
  16. :CreateShort
  17. mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""startmenu"") & ""\%~3""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Arguments=""%~2"":b.Save:close")
复制代码

本帖最后由 ygqiang 于 2014-12-3 12:32 编辑
  1. ——————————————————————————————————————————————————
  2. ——————————————————————————————————————————————————
  3. del /q 0000-win7.vbs
  4. ::创建exe文件的lnk快捷方式
  5. ::win7系统下,在开始菜单的附件accessories下面,建立快捷方式
  6. @echo off
  7. set "SrcFile=%SystemRoot%\system32\shutdown.exe"
  8. set "Args=-s -t 2"
  9. set "LnkFile=关机.LNK"
  10. call :CreateShort "%SrcFile%" "%Args%" "%LnkFile%"
  11. pause & goto :eof
  12. ::Arguments              目标程序参数
  13. ::Description            快捷方式备注
  14. ::FullName               返回快捷方式完整路径
  15. ::Hotkey                 快捷方式快捷键
  16. ::IconLocation           快捷方式图标,不设则使用默认图标
  17. ::TargetPath             目标
  18. ::WindowStyle            窗口启动状态
  19. ::WorkingDirectory       起始位置
  20. :CreateShort
  21. mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""startmenu"") & ""\\Programs\accessories\%~3""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Arguments=""%~2"":b.Save:close")
  22. ;创建exe文件的lnk快捷方式
  23. ::win7系统下,在开始菜单的附件accessories下面,建立快捷方式
  24. set SrcFile=logoff
  25. set LnkFile=C:\ProgramData\Microsoft\Windows\Start Menu\Programs\accessories\注销
  26. call :CreateShort "%SrcFile%" "%LnkFile%"
  27. goto :eof
  28. ::Arguments              目标程序参数
  29. ::Description            快捷方式备注
  30. ::FullName               返回快捷方式完整路径
  31. ::Hotkey                 快捷方式快捷键
  32. ::IconLocation           快捷方式图标,不设则使用默认图标
  33. ::TargetPath             目标
  34. ::WindowStyle            窗口启动状态
  35. ::WorkingDirectory       起始位置
  36. :CreateShort
  37. mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(""%~2.lnk""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Save:close")
  38. echo Sub startpin(lnkfile)>>0000-win7.vbs
  39. echo 'Const CSIDL_COMMON_PROGRAMS = ^&H17>>0000-win7.vbs
  40. echo Set objShell = CreateObject("Shell.Application")>>0000-win7.vbs
  41. echo 'Set objAllUsersProgramsFolder = objShell.NameSpace(CSIDL_COMMON_PROGRAMS)>>0000-win7.vbs
  42. echo 'strAllUsersProgramsPath = objAllUsersProgramsFolder.Self.Path>>0000-win7.vbs
  43. echo path=Left(lnkfile,InStrRev(lnkfile,"\"))>>0000-win7.vbs
  44. echo Set objFolder = objShell.Namespace(path)>>0000-win7.vbs
  45. echo name=Replace(lnkfile,path,"")>>0000-win7.vbs
  46. echo Set objFolderItem = objFolder.ParseName(name)>>0000-win7.vbs
  47. echo Set colVerbs = objFolderItem.Verbs>>0000-win7.vbs
  48. echo For Each objVerb in colVerbs>>0000-win7.vbs
  49. echo     If Left(objVerb.name,2) = "附到" Then objVerb.DoIt>>0000-win7.vbs
  50. echo Next>>0000-win7.vbs
  51. echo End Sub>>0000-win7.vbs
  52. echo startpin Wscript.Arguments(0)>>0000-win7.vbs
  53. ping 127.0.0.1 -n 3 >nul 2>nul
  54. 0000-win7.vbs "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\accessories\Paint.lnk"
  55. 0000-win7.vbs "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\accessories\Calculator.lnk"
  56. 0000-win7.vbs "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\Resource Monitor.lnk"
  57. 0000-win7.vbs "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\关机.lnk"
  58. 0000-win7.vbs "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Snipping Tool.lnk"
  59. 0000-win7.vbs "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk"
  60. 0000-win7.vbs "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Command Prompt.lnk"
  61. 0000-win7.vbs "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\accessories\注销.lnk"
  62. ping 127.0.0.1 -n 5 >nul 2>nul
  63. del /q 0000-win7.vbs
复制代码

TOP

解决了。。。
  1. ::创建exe文件的lnk快捷方式
  2. @echo off
  3. set "SrcFile=%SystemRoot%\system32\shutdown.exe"
  4. set "Args=-s -t 2"
  5. set "LnkFile=关机.LNK"
  6. call :CreateShort "%SrcFile%" "%Args%" "%LnkFile%"
  7. pause & goto :eof
  8. ::Arguments              目标程序参数
  9. ::Description            快捷方式备注
  10. ::FullName               返回快捷方式完整路径
  11. ::Hotkey                 快捷方式快捷键
  12. ::IconLocation           快捷方式图标,不设则使用默认图标
  13. ::TargetPath             目标
  14. ::WindowStyle            窗口启动状态
  15. ::WorkingDirectory       起始位置
  16. :CreateShort
  17. mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""startmenu"") & ""\\Programs\accessories\%~3""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Arguments=""%~2"":b.Save:close")
复制代码

TOP

返回列表