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

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

如何用批处理解决在该批处理文件夹内把所有的EXE程序(含该文件夹内的子文件夹里的程序)批量创建快捷方式到指定文件夹。请高手帮忙!!!如下图示:

[attach]9487[/attach]
这个事情困扰我很久了 ,前一段时间都在折腾电脑,装机……带着移动硬盘在不同电脑里来回使用,在新电脑上使用过程中,我在硬盘里新建的便捷版工具里的快捷方式都不能使用了,原因是因为新的电脑识别硬盘的盘符不一样,导致快捷方式的路径不同,从而导致无法使用,由于软件量较多在不同电脑上使用的情况时而发生,请想到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   

[attach]9435[/attach]

[attach]9442[/attach]

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

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

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


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

评分人数

学以致用!不耻下问!

回复 2# DAIC


    这样做每次太麻烦了,如用批处理的话  ,一点就好了 !!
学以致用!不耻下问!

TOP

回复 3# 172788876


    谢谢你 ,但是我开始想用批处理解决这个问题!还有其他用途!!!
学以致用!不耻下问!

TOP

回复 6# 172788876


    谢谢   !!!!!!
学以致用!不耻下问!

TOP

回复 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
复制代码
学以致用!不耻下问!

TOP

回复 10# 172788876


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

TOP

回复 9# pcl_test


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

TOP

回复 9# pcl_test


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

TOP

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

TOP

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

TOP

回复 19# pcl_test

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

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

TOP

回复 21# pcl_test


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

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

回复 22# 9zhmke


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

TOP

保存为bat运行,对照检测用
pcl_test 发表于 2016-1-4 16:44


版主啊  按照你给的代码,我试过了  你给的两个路径,可以正常生成快捷方式,但是没有在我需要的
学以致用!不耻下问!

TOP

返回列表