那应该是“参数”和“工作目录”的问题。
findstr /v "^/ ^-"' 是过滤掉开头是 / 或 - 的行,^ 是匹配开头。参见 findstr /?
------------
再试试这个:(需下载 
shortcut)
@echo off
for %%? in (D:\*.lnk) do (
  for /f "skip=3 eol=I delims=" %%a in ('shortcut /f:"%%?" /a:q') do set %%a 2>nul
  setlocal enabledelayedexpansion
  start "" /d"!WorkingDirectoryExpanded!" /wait "!TargetPathExpanded!" !Arguments!
  endlocal
)