1

批处理文件(命令行)在“Web 文档”选项卡下的“URL:”字段中获取 Internet 快捷方式 (.url) 的目标路径

我需要从文件夹(桌面)中的所有快捷方式及其各自的目的地中获取目标,以帮助我的计算机维修店的人员通过访问这些网站来防止客户/客户重新感染他们的计算机。

我已经有要显示的代码(如下),但是当它找到一个目标时,我也需要显示目标(.url 快捷方式文件)

dir /b "%userprofile%\Desktop*.url"

-谢谢,-G

4

2 回答 2

2

我想我理解你的问题,这是一个批处理文件,它将遍历给定文件夹中的链接,然后回显每个目标 URL

批处理文件:

echo off
setlocal enableextensions enabledelayedexpansion

pushd %1

for %%F in (%1\*.url) do (
   echo %%~dpnxF
   call :findurl "%%~dpnxF"
)
popd


goto end

:findurl inputfile
set url=
for /f "tokens=2 delims==" %%i in ('findstr URL %1') do set url=%%i
echo %url%
echo -----

:end

用法:

MyBatchFile.bat C:\users\Username\Desktop

预期输出:

d:\Users\Martyn\Desktop\test\link - Copy.URL
http://google.co.uk
-----
d:\Users\Martyn\Desktop\test\link.URL
http://stackoverflow.com/questions/17687358/batch-file-command-line-to-get-target-path-of-internet-s
hortcut-url-in-the
-----

[编辑] 只是快速解释一下发生了什么,.url 文件基本上只是文本文件,在记事本中打开一个即可查看。URL 在线 URL= http://foo.com

这批只是读取目录中的每个 .url 文件,然后在“URL =”之后回显 URL 行上的所有内容

希望这就是你的意思!

马丁

于 2013-07-17T08:42:10.680 回答
0

这种格式也可以。

@echo off

Setlocal Enableextensions
Setlocal Enabledelayedexpansion

for /r %%X in (*.url) do (
  set shortcut="%%X"
  echo SHORTCUT: !shortcut!


     for /f "tokens=2 delims==" %%i in ('findstr URL !shortcut!') do (
     set url=%%i
     echo.
     echo URL PATH: !url!
     )

  echo ----------------------------------------------------------------
  echo.
)

:end
于 2013-10-25T05:33:35.597 回答