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

[文件操作] [已解决]求修改批处理:搜索文件夹里面的.lnk快捷方式

[复制链接]
发表于 2023-1-12 13:27:41 | 显示全部楼层 |阅读模式
完美解决了(PE下能够运行代码):

  1. [code]
  2. @echo off
  3. ::【检测(是否在PE中运行),是向下运行,否跳到:A】
  4. if not exist "X:\windows"   goto :A
  5. ::********************************************
  6. ::【lnk文件关联】
  7. reg add "HKCR\lnkfile" /f /ve /t REG_SZ /d "快捷方式"
  8. reg add "HKCR\lnkfile" /f /v "EditFlags" /t REG_DWORD /d 1
  9. reg add "HKCR\lnkfile" /f /v "IsShortcut" /t REG_SZ /d ""
  10. reg add "HKCR\lnkfile" /f /v "NeverShowExt" /t REG_SZ /d ""
  11. ::*********************************************************
  12. ::【生成 “开机运行” 所有文件路径(含扩展名),保存为:#.txt】
  13. cd /d "D:\PE整理碎片(很好)\修改PE\启动\开机运行"
  14. DIR /S/B >"X:\#.txt"
  15. ::*********************************************************
  16. ::【行首行尾添加字符,生成并运行:启动.vbs】
  17. cd /d "X:"
  18. set "strOne=CreateObject(^"WScript.Shell^").Run ^"cmd /c  " %【行首添加字符】%
  19. set "strTwo=^",0" %【行尾添加字符】%
  20. for /f "tokens=*" %%i in (#.txt) do (>>启动.vbs echo %strOne%%%i%strTwo%)
  21. 启动.vbs
  22. del #.txt 启动.vbs
  23. exit
  24. ::********************************************
  25. :A
  26. exit
复制代码

****************************
(下面代码正常系统正常,PE下不行)
  1. @echo off
  2. for %%c in (D:\桌面\Desktop\00\*.lnk) do (
  3.         set t=%%c
  4.         call :cre
  5. )>>"temp.vbs"
  6. temp.vbs
  7. ::del temp.vbs
  8. exit

  9. :cre
  10. echo CreateObject("WScript.Shell").Run "%t%",0
复制代码
****************************************************************************
原来的问题:
文件夹:D:\桌面\Desktop\00\里面  有多个.lnk文件
希望运行批处理以后,得到temp.vbs文件内容形如:

  1. CreateObject("WScript.Shell").Run "D:\桌面\Desktop\00\重新启动.bat.lnk",0
  2. CreateObject("WScript.Shell").Run "D:\桌面\Desktop\00\手动-备份桌面图标位置.bat.lnk",0
  3. ... ...
复制代码
************************************************************************
现有批处理:

  1. @echo off
  2. for %%c in (D:\桌面\Desktop\00\*.lnk) do set   T=%%c
  3. >>"temp.vbs" echo CreateObject("WScript.Shell").Run "%T%",0
  4. temp.vbs
  5. ::del temp.vbs
  6. exit
复制代码
运行以后,temp.vbs文件内容只有一行:

  1. CreateObject("WScript.Shell").Run "D:\桌面\Desktop\00\重新启动.bat.lnk",0
复制代码
怎样才能够将所以的.lnk文件路径全部添加到temp.vbs文件里面?
谢谢

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-1-12 13:52:15 | 显示全部楼层
  1. @echo off
  2. for %%c in (D:\桌面\Desktop\00\*.lnk) do (
  3.         echo CreateObject("WScript.Shell").Run "%%c",0
  4. )>"temp.vbs"
  5. temp.vbs
  6. ::del temp.vbs
  7. exit
复制代码
试试这样行吗

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

 楼主| 发表于 2023-1-12 14:03:54 | 显示全部楼层
试试这样行吗
77七 发表于 2023-1-12 13:52



    我试一试先 谢谢
 楼主| 发表于 2023-1-12 14:08:28 | 显示全部楼层
试试这样行吗
77七 发表于 2023-1-12 13:52



    不能够生成temp.vbs哦
发表于 2023-1-12 14:29:53 | 显示全部楼层
回复 4# yyz219
  1. @echo off
  2. for %%c in (D:\桌面\Desktop\00\*.lnk) do (
  3.         set t=%%c
  4.         call :cre
  5. )>>"temp.vbs"
  6. temp.vbs
  7. ::del temp.vbs
  8. exit

  9. :cre
  10. echo CreateObject("WScript.Shell").Run "%t%",0
复制代码
好奇怪,不知道为什么不能生成...
 楼主| 发表于 2023-1-12 16:32:23 | 显示全部楼层
回复  yyz219
好奇怪,不知道为什么不能生成...
77七 发表于 2023-1-12 14:29



    我在试一试 辛苦了
 楼主| 发表于 2023-1-12 16:34:55 | 显示全部楼层
回复  yyz219
好奇怪,不知道为什么不能生成...
77七 发表于 2023-1-12 14:29



    成功了 再次感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 06:17 , Processed in 0.032123 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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