找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 120352|回复: 54

[问题求助] VBS如何把当前目录中的EXE程序批量创建快捷方式到指定文件夹?

[复制链接]
发表于 2016-1-3 16:15:25 | 显示全部楼层 |阅读模式
如何用批处理解决在该批处理文件夹内把所有的EXE程序(含该文件夹内的子文件夹里的程序)批量创建快捷方式到指定文件夹。请高手帮忙!!!如下图示:


这个事情困扰我很久了 ,前一段时间都在折腾电脑,装机……带着移动硬盘在不同电脑里来回使用,在新电脑上使用过程中,我在硬盘里新建的便捷版工具里的快捷方式都不能使用了,原因是因为新的电脑识别硬盘的盘符不一样,导致快捷方式的路径不同,从而导致无法使用,由于软件量较多在不同电脑上使用的情况时而发生,请想到bat批处理是否可以做到。

于是,我百度了一下,还真有这个便捷的方式,然而我网上是代码复制做成BAT,使用时出错了,以下是具体代码及出错的图示!
  1. '& @echo off& for %%1 in (*.exe)do start wscript /e:vbs "%~F0" "%%~F1" "%%~nx1" "%%~DP1" "%userprofile%\desktop"
  2. set ws = createobject("wscript.shell")
  3. set wind = ws.createshortcut(wscript.arguments(3) & wscript.arguments(1) & ".lnk")
  4. wind.targetpath = wscript.arguments(0): wind.workingdirectory = wscript.arguments(2): wind.save
复制代码
以下是出错的截图:提示:电脑无法保存快捷方式 代码80070003   





  PS:按照网上教程试了不管用 1.打开“注册表编辑器”。(开始菜单运行中输入regedit 确定就可以打开)

2.找到“注册表编辑器”中:HKEY_CLASSES_ROOT\lnkfile 在右边栏空白处点击→新建→字符串值 命名为 IsShortcut

3.关闭“注册表编辑器”,重启电脑后就问题解决了


求大神帮忙看看啦 。谢谢!!!!

评分

参与人数 1PB -4 收起 理由
pcl_test -4 看不清的截图何用?

查看全部评分

发表于 2016-1-3 16:24:11 | 显示全部楼层
原因是因为新的电脑识别硬盘的盘符不一样

直接修改盘符不行吗?
发表于 2016-1-3 16:52:05 | 显示全部楼层
回复 1# nevergiveup520


    用硬盘分区大师,将盘符改掉,一定要注意不要在pe等第三方系统更改,因为第三方系统更改盘符经常性失效,要在所使用的系统更改。。。
看看盘符是否被占用,占用就改回来。。。
等下我发百度云连接给你。。。
 楼主| 发表于 2016-1-3 17:14:35 | 显示全部楼层
回复 2# DAIC


    这样做每次太麻烦了,如用批处理的话  ,一点就好了 !!
 楼主| 发表于 2016-1-3 17:15:59 | 显示全部楼层
回复 3# 172788876


    谢谢你 ,但是我开始想用批处理解决这个问题!还有其他用途!!!
发表于 2016-1-3 17:22:20 | 显示全部楼层
回复 1# nevergiveup520


    http://pan.baidu.com/s/1dDV6csp
百度云连接
 楼主| 发表于 2016-1-3 17:30:02 | 显示全部楼层
回复 6# 172788876


    谢谢   !!!!!!
 楼主| 发表于 2016-1-3 18:00:26 | 显示全部楼层
回复 1# nevergiveup520

同样提示出错   ,崩溃啊 !
  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 "tokens=*" %%i in ('dir /a /b *.exe') do (
  7. lnk.vbs "D:\Users\Desktop\常用软件\%%~ni.lnk" "%%~fi"
  8. )

  9. del lnk.vbs
复制代码
发表于 2016-1-3 18:17:16 | 显示全部楼层
你的路径是否正确?
发表于 2016-1-3 18:28:43 | 显示全部楼层
回复 8# nevergiveup520


    D:\Users\Desktop\常用软件\
你的D盘有这个路径吗???
其实批处理我也不懂,但是你这路径我大概明白
D盘\用户\桌面\常用软件\
我也认为是你路径错了。。。
发表于 2016-1-3 18:52:02 | 显示全部楼层
回复 8# nevergiveup520
  1. set "back_d=c:\000"
  2. set "back_dir=c:\000\001.bat"

  3. del /q "c:\001.lnk"

  4. ;创建文件的快捷方式(普通位置)
  5. (echo Set objShell=CreateObject^("WScript.Shell"^)
  6. echo Set objlink=objShell.CreateShortcut^("c:\001.lnk"^)
  7. echo objlink.Hotkey="CTRL+Q"
  8. echo objlink.WindowStyle=3
  9. echo objlink.TargetPath="%back_dir%"
  10. echo objlink.WorkingDirectory="%back_d%"
  11. echo objlink.Save
  12. )>"mysendto.vbs"
  13. start /wait "" "mysendto.vbs"
  14. del "mysendto.vbs"
复制代码
 楼主| 发表于 2016-1-3 18:56:03 | 显示全部楼层
回复 10# 172788876


    有这个 路径的  我自己把桌面的路径改了!!
 楼主| 发表于 2016-1-3 18:57:19 | 显示全部楼层
回复 9# pcl_test


    路径正确的  ,我把默认路径改过了!
发表于 2016-1-3 18:57:55 | 显示全部楼层
回复 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")
复制代码
 楼主| 发表于 2016-1-3 19:06:51 | 显示全部楼层
回复 9# pcl_test


    源代码的路劲是自动查找的"%userprofile%\desktop\" 出错后 ,我就直接把路径指定,但是还是出错 ,!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:47 , Processed in 0.021975 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表