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


   看不大明白,大神能否说的详细点!
学以致用!不耻下问!

TOP

回复 24# pcl_test
    运行正常

但是我下面的一段批处理没有在运行的当前目录下创建,而是在C:\Windows\System32的程序创建快捷方式了,请问怎么回事?如图:
  1. @echo off
  2. echo set ws = createobject("wscript.shell")>lnk.vbs
  3. echo set lnk=ws.createshortcut(wscript.arguments(0))>>lnk.vbs
  4. echo lnk.targetpath=(wscript.arguments(1))>>lnk.vbs
  5. echo lnk.save>>lnk.vbs
  6. for /f "delims=*" %%i in ('dir /a /b/on *.exe') do (
  7. lnk.vbs "D:\Users\Desktop\1\%%~ni.lnk" "%%~fi"
  8. )
  9. del lnk.vbs
复制代码
学以致用!不耻下问!

TOP

回复 23# nevergiveup520

保存为vbs运行
  1. Set objws = wscript.CreateObject("Wscript.Shell")
  2. '换到其他盘试试
  3. Set objLink = objws.CreateShortcut("E:\123.lnk")
  4. objLink.Save
复制代码

TOP

回复 21# pcl_test


    若不用管理员权限运行的话 ,窗口一闪而过。我是用管理员权限运行的!
学以致用!不耻下问!

TOP

自己写个递归吧,直接在VBS调用这段就可以了:
  1. Function Shortcut(Short_name,path_and_name) '为在桌面创建一个快捷方式
  2.     strDesktop = WshShell.SpecialFolders("AllUsersDesktop") '在桌面创建一个快捷方式
  3.     set oShellLink = WshShell.CreateShortcut(strDesktop & "\" & Short_name & ".lnk")   '名称
  4.     oShellLink.TargetPath = path_and_name      '目标
  5.     oShellLink.WindowStyle = 1    '窗口样式  1默认窗口激活,参数3最大化激活,参数7最小化
  6.     oShellLink.Hotkey = ""         '快捷键
  7.     oShellLink.IconLocation = path_and_name & ",0"     '第几个图标
  8.     oShellLink.Description = Short_name      '备注
  9.     oShellLink.WorkingDirectory = left(path_and_name,InStrRev(path_and_name,"\")-1)   '起始位置
  10.     oShellLink.Arguments = ""    '参数
  11.     oShellLink.Save     '保存
  12. End Function
复制代码

TOP

回复 20# nevergiveup520


    不是,说的是你生成快捷方式的批处理

TOP

回复 19# pcl_test

????你是说的是你给我的两行查询桌面路径的的那个?这个不需要管理员运行啊,右键没有这个以管理员权限运行这个选项啊!其他软件右键有的,以上的脚本我都试过以管理员权限运行过的,都没有成功!

下面是我换成其他盘设置的。
学以致用!不耻下问!

TOP

本帖最后由 pcl_test 于 2016-1-3 22:02 编辑

回复 18# nevergiveup520

居然没有权限,试试以管理员身份运行或者换到其他盘,再或者看看D:\Users\Desktop文件夹,右键,属性>安全,添加当前用户并赋予相应权限

TOP

回复 11# ygqiang
学以致用!不耻下问!

TOP

回复 18# pcl_test
学以致用!不耻下问!

TOP

本帖最后由 pcl_test 于 2016-1-3 19:15 编辑

回复 15# nevergiveup520

保存为vbs运行,把结果贴出来
  1. Set objws = wscript.CreateObject("Wscript.Shell")
  2. msgbox "桌面:"& objws.SpecialFolders("Desktop")&vbCrLf&"VBS所在路径:"& objws.CurrentDirectory
复制代码

TOP

回复 9# pcl_test


    源代码的路劲是自动查找的"%userprofile%\desktop\" 出错后 ,我就直接把路径指定,但是还是出错 ,!
学以致用!不耻下问!

TOP

回复 8# nevergiveup520
  1. del /q "%userprofile%\「开始」菜单\注销.lnk"
  2. rem 创建exe文件的lnk快捷方式
  3. ::指定路径和名称
  4. set "LnkFile=%userprofile%\「开始」菜单\注销.lnk"
  5. ::指定主程序
  6. set "TargetPath=%SystemRoot%\system32\logoff.exe"
  7. ::指定起始位置
  8. set "WorkingDirectory=%SystemRoot%\system32"
  9. ::指定快捷键
  10. set "Hotkey=Ctrl+Shift+L"
  11. ::指定图标
  12. set "IconLocation=%windir%\system32\shell32.dll,44"
  13. del "%LnkFile%" /f /q >nul 2>nul
  14. call :CreateShort "%LnkFile%" "%TargetPath%" "%WorkingDirectory%" "%HotKey%" "%IconLocation%"
  15. ::Arguments              目标程序参数
  16. ::Description            快捷方式备注
  17. ::FullName               返回快捷方式完整路径
  18. ::Hotkey                 快捷方式快捷键
  19. ::IconLocation           快捷方式图标,不设则使用默认图标
  20. ::TargetPath             目标
  21. ::WindowStyle            窗口启动状态
  22. ::WorkingDirectory       起始位置
  23. :CreateShort
  24. 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")
复制代码

TOP

回复 9# pcl_test


    路径正确的  ,我把默认路径改过了!
学以致用!不耻下问!

TOP

回复 10# 172788876


    有这个 路径的  我自己把桌面的路径改了!!
学以致用!不耻下问!

TOP

返回列表