我有一个file.lnk
来自另一条路径的快捷方式(在桌面上称为)file.exe
。
然后我在桌面上的快捷方式(file.lnk)附近有一个 run.bat。
我的run.bat内容代码如下:
Start "" file.lnk Echo "all done or crashed shortcut even my shortcut corrupted continue to process and don't stop"
。
我的问题如下:
当我的file.exe
被删除(我的快捷方式file.lnk
已损坏)时,然后是 run.bat,它会向我显示一个弹出消息,说您的文件已被删除。请选择三个选项之一(恢复文件 - 删除文件 - 取消),但我不想停止弹出的过程。我想继续,即使每次出现错误或弹出。
(这是我的结构。我必须使用快捷方式,唯一需要做的就是跳过损坏的快捷方式消息或自动回答已删除的问题file.lnk
。我不想停止这个过程)。
在@stephan 帮助后我尝试了此代码。
@echo off
:this is for check all shortcut file in a folder
for %%x in (*) do (
set shortcutpath=%%~x
for /f "tokens=2 delims==" %%a in ('wmic path win32_shortcutfile where "name='%shortcutpath:\=\\%'" get target /value') do (IF EXIST %%a echo "no problem,File exist & can you start")
)
echo by
pause
我也尝试使用!var!
,但是没有用。
另外,使用!shortcutpath:\=\\!
。它可以工作并%%a
给我正确的输出(快捷方式目标路径),但是当我想检查IF EXIST
该路径字符串时('%%a'
)。
它给出了错误的输出,虽然路径是正确的,但似乎IF EXSIST
无法在循环中检查。