Board logo

标题: [文件操作] 这俩批处理怎么和一块 ,查到并生成桌面快捷方式? [打印本页]

作者: asdfasdf    时间: 2024-6-21 20:58     标题: 这俩批处理怎么和一块 ,查到并生成桌面快捷方式?

◆◆◆◆◆◆◆◆第一个是查找替换的BAT挺好用的,
  1. @echo off
  2. if "%1" == "h" goto begin
  3. mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
  4. :begin
  5. REM
  6. ::记住单前路径 以上静默
  7. set aa=%cd%
  8. ::所有盘符走一遍
  9. for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  10. cd /d %%b:\
  11. echo %cd%
  12. ::遍历磁盘查找2222文件 并判断 路径里是否含有 \1111\2222
  13. for /f "delims=" %%c in ('dir /s /b "2222"^|find /i "\1111\2222"') do (
  14. ::找到\ABC\ABC.TXT 后进行替换
  15. xcopy "%aa%\2222" "%%c"/s /y
  16. )
  17. )
复制代码
◆◆◆◆◆◆◆◆下面这个是生成桌面快捷方式的BAT用着也行
  1. @echo off
  2. ::设置程序或文件的完整路径(必选)
  3. set Program=E:\实验\1111\2222\1221.txt
  4. ::设置快捷方式名称(必选)
  5. set LnkName=快捷方式222
  6. ::设置程序的工作路径,一般为程序主目录,此项若留空,脚本将自行分析路径
  7. set WorkDir=
  8. ::设置快捷方式显示的说明(可选)
  9. set Desc=测试
  10. if not defined WorkDir call:GetWorkDir "%Program%"
  11. (echo Set WshShell=CreateObject("WScript.Shell"^)
  12. echo strDesKtop=WshShell.SpecialFolders("DesKtop"^)
  13. echo Set oShellLink=WshShell.CreateShortcut(strDesKtop^&"\%LnkName%.lnk"^)
  14. echo oShellLink.TargetPath="%Program%"
  15. echo oShellLink.WorkingDirectory="%WorkDir%"
  16. echo oShellLink.WindowStyle=1
  17. echo oShellLink.Description="%Desc%"
  18. echo oShellLink.Save)>makelnk.vbs
  19. echo 桌面快捷方式创建成功!
  20. makelnk.vbs
  21. del /f /q makelnk.vbs
  22. exit
  23. goto :eof
  24. :GetWorkDir
  25. set WorkDir=%~dp1
  26. set WorkDir=%WorkDir:~,-1%
  27. goto :eof
复制代码
这俩怎么和一块 ,在不知道路径的情况下,查到并生成桌面快捷方式,,,,新人寻求帮助
作者: ShowCode    时间: 2024-6-22 08:59

回复 1# asdfasdf
  1. @echo off
  2. if "%1" == "h" goto :begin
  3. mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
  4. :begin
  5. set aa=%cd%
  6. REM 所有盘符走一遍
  7. for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  8.     cd /d %%b:\
  9.     echo %cd%
  10.     REM 遍历磁盘查找 1221.txt 文件 并判断 路径里是否含有 \1111\2222
  11.     for /f "delims=" %%c in ('dir /s /b "1221.txt" ^| find /i "\1111\2222"') do (
  12.         echo 找到文件 %%c
  13.         call :CreateShortcut "%%c"
  14.         goto :eof
  15.     )
  16. )
  17. goto :eof
  18. :CreateShortcut
  19. REM 设置程序或文件的完整路径(必选)
  20. set "Program=%~1"
  21. REM 设置快捷方式名称(必选)
  22. set "LnkName=快捷方式222"
  23. REM 设置程序的工作路径,一般为程序主目录,此项若留空,脚本将自行分析路径
  24. set "WorkDir="
  25. REM 设置快捷方式显示的说明(可选)
  26. set "Desc=测试"
  27. if not defined WorkDir call :GetWorkDir "%Program%"
  28. (echo Set WshShell=CreateObject("WScript.Shell"^)
  29. echo strDesKtop=WshShell.SpecialFolders("DesKtop"^)
  30. echo Set oShellLink=WshShell.CreateShortcut(strDesKtop^&"\%LnkName%.lnk"^)
  31. echo oShellLink.TargetPath="%Program%"
  32. echo oShellLink.WorkingDirectory="%WorkDir%"
  33. echo oShellLink.WindowStyle=1
  34. echo oShellLink.Description="%Desc%"
  35. echo oShellLink.Save)>makelnk.vbs
  36. makelnk.vbs
  37. echo 桌面快捷方式创建成功!
  38. del /f /q makelnk.vbs
  39. goto :eof
  40. :GetWorkDir
  41. set "WorkDir=%~dp1"
  42. set "WorkDir=%WorkDir:~,-1%"
  43. goto :eof
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2