返回列表 发帖

[文件管理] 批处理调用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!"
)COPY
shortcut.exe下载地址:
http://www.bathome.net/thread-4020-1-1.html
1

评分人数

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

TOP

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

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

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

TOP

谢谢大佬 谢谢

TOP

返回列表