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

[文件管理] 批处理调用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
1

评分人数

谢谢大佬 谢谢

TOP

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

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

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

TOP

恩,有用,这个需要留名,以备后来学习。

TOP

返回列表