gpt4 book ai didi

windows - 从批处理脚本中的 .lnk 快捷方式获取源 .exe 文件名?

转载 作者:可可西里 更新时间:2023-11-01 11:12:30 25 4
gpt4 key购买 nike

我必须从 .lnk 快捷方式中批量提取源文件名。提取的文本必须为(程序名称).(扩展名)形式。

我必须承认,当涉及到批处理(或实际上任何脚本)时,我是一个彻头彻尾的外行,因此非常感谢任何有关我的问题的帮助。

最佳答案

您可以通过对 win32_shortcutfilewmic 查询来做到这一点.只需确保所有反斜杠都在 %filename% 中进行了反斜杠转义即可。

@echo off
setlocal

:: ensure user supplied a filename with a .lnk extension
if /i "%~x1" neq ".lnk" (
echo usage: %~nx0 shortcut.lnk
goto :EOF
)

:: set filename to the fully qualified path + filename
set "filename=%~f1"

:: convert single backslashes to double
set "filename=%filename:\=\\%"

:: get target
for /f "tokens=1* delims==" %%I in ('wmic path win32_shortcutfile where "name='%filename%'" get target /format:list ^| find "="') do (
echo(%%J
)

您想要的结果在 %%J 中。如果您只需要目标 filename.ext,请将其更改为 %%~nxJ。如果您只需要驱动器和路径,请将其更改为 %%~dpJ。有关变量扩展的更多信息,请参阅 cmd 控制台中的help for 的最后一页。

关于windows - 从批处理脚本中的 .lnk 快捷方式获取源 .exe 文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27492801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com