Board logo

标题: [文件管理] 批处理调用shortcut命令批量修改lnk快捷方式 [打印本页]

作者: find    时间: 2012-3-4 15:40     标题: 批处理调用shortcut命令批量修改lnk快捷方式

如果你的快捷方式对应的程序原来安装在C盘,后来调整盘符或者重装系统之后系统盘变成了D盘,可以用这个方法批量修改lnk快捷方式。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. rem 假设原来的盘符是C
  4. set oldDrive=C:\
  5. rem 假设新的盘符是D
  6. set newDrive=D:\
  7. for %%a in (*.lnk) do (
  8. for /f "tokens=2 delims==" %%h in ('shortcut /f:"%%a" /a:q ^| findstr "TargetPath="') do (
  9. set target=%%h
  10. )
  11. for /f "tokens=2 delims==" %%h in ('shortcut /f:"%%a" /a:q ^| findstr "WorkingDirectory="') do (
  12. set working=%%h
  13. )
  14. set target=!target:%oldDrive%=%newDrive%!
  15. set working=!working:%oldDrive%=%newDrive%!
  16. shortcut /f:"%%a" /a:e /t:"!target!" /w:"!working!"
  17. )
复制代码
shortcut.exe下载地址:
http://www.bathome.net/thread-4020-1-1.html
作者: hacker85    时间: 2014-6-23 13:43

恩,有用,这个需要留名,以备后来学习。
作者: 9zhmke    时间: 2015-7-28 14:08

本帖最后由 9zhmke 于 2015-7-28 14:10 编辑

刚遇到这事情需要更改大量绿色软件的快捷方式,本以为应该有个什么软件可以做这事情,居然还没有,然后就百度到这篇文章,刚好适用,谢谢楼主的小程序!

为了把子目录下面的快捷方式一起更改,可把
  1. for %%a in (*.lnk /s) do (
复制代码
更改为
  1. for /f %%a in ('dir *.lnk /s /b') do (
复制代码

作者: 刘串    时间: 2022-11-11 13:23

谢谢大佬 谢谢




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