标题: [文件管理] 批处理调用shortcut命令批量修改lnk快捷方式 [打印本页]
作者: find 时间: 2012-3-4 15:40 标题: 批处理调用shortcut命令批量修改lnk快捷方式
如果你的快捷方式对应的程序原来安装在C盘,后来调整盘符或者重装系统之后系统盘变成了D盘,可以用这个方法批量修改lnk快捷方式。- @echo off
- setlocal enabledelayedexpansion
- rem 假设原来的盘符是C
- set oldDrive=C:\
- rem 假设新的盘符是D
- set newDrive=D:\
- for %%a in (*.lnk) do (
- for /f "tokens=2 delims==" %%h in ('shortcut /f:"%%a" /a:q ^| findstr "TargetPath="') do (
- set target=%%h
- )
- for /f "tokens=2 delims==" %%h in ('shortcut /f:"%%a" /a:q ^| findstr "WorkingDirectory="') do (
- set working=%%h
- )
- set target=!target:%oldDrive%=%newDrive%!
- set working=!working:%oldDrive%=%newDrive%!
- shortcut /f:"%%a" /a:e /t:"!target!" /w:"!working!"
- )
复制代码
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 编辑
刚遇到这事情需要更改大量绿色软件的快捷方式,本以为应该有个什么软件可以做这事情,居然还没有,然后就百度到这篇文章,刚好适用,谢谢楼主的小程序!
为了把子目录下面的快捷方式一起更改,可把- for %%a in (*.lnk /s) do (
复制代码
更改为- for /f %%a in ('dir *.lnk /s /b') do (
复制代码
作者: 刘串 时间: 2022-11-11 13:23
谢谢大佬 谢谢
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |