这是我的问题:
1º - 我有一个带有子文件夹的原始文件夹,里面装满了mp3文件
2º - 我有原始文件夹的副本。
3º - 我已将所复制文件夹的所有“mp3”文件“转换”为“lnk”文件(使用NirCMD CLI工具)维护文件夹结构。
现在我需要定期检查每个.lnk的目标是否仍然存在或被截断,因为我每天都在维护原始文件夹,移动文件或做某事......
我需要这样的东西:
Echo: Corrupted links:
For /F "tokens=*" %%# in ('Dir /B /AD') do (
Pushd ".\%%#"
For /F "tokens=*" %%# in ('Dir /B "*.lnk"') do (
(SHORTCUT_CHECK_PROGRAM_OR_FUNCTION_OR_SOMETHING.EXE) "%%#"
IF NOT %ErrorLevel% EQU 0 (Echo: Target doesn't exist: "%%#")
)
POPD
)
我检查了以下参数:
mediainfo.exe
nircmd.exe shortcut
shortcut.exe
Vbscripts functions to create shortcuts (i can't find one vbs only for check the target)
但是我找不到使用某人的方法来向我提供有关快捷方式目标的信息。
请帮助
PD:我同意第三方应用程序的解决方案:)PD2:所有.lnks的目标都有这个特殊的拉丁字符“ú”(如果解决方案是批处理,我可以转换字符,其他方式我不知道如何设置char右)
三江源!
修改:
Narayanan 我不知道如何使用VBA但是我给你积分帮助,谢谢你。
我记得我多年前在批处理中创建了一个临时文件清理器,我在查看任务栏快捷方式并删除它们方面遇到了同样的问题。
我已经解决了问题,但我不记得xD
了如果对某人有帮助,请选择此项:
(vbs发送错误级别代码)
PD:西班牙语的代码,但每个人都能理解它:)
:Comprobar_accesos_directos_rotos.vbs
::Check invalid shortcuts target.vbs
:::::::::::::::::::::::::::::::::::::
echo set objshell = createobject("wscript.shell")>"%TEMP%\Comprobar_accesos_directos_rotos.vbs"
echo set objlink = objshell.createshortcut(wscript.arguments(0))>>"%TEMP%\Comprobar_accesos_directos_rotos.vbs"
echo set objfso = createobject("scripting.filesystemobject")>>"%TEMP%\Comprobar_accesos_directos_rotos.vbs"
echo if objfso.fileexists(objlink.targetpath) then>>"%TEMP%\Comprobar_accesos_directos_rotos.vbs"
echo wscript.quit(0)>>"%TEMP%\Comprobar_accesos_directos_rotos.vbs"
echo else>>"%TEMP%\Comprobar_accesos_directos_rotos.vbs"
echo wscript.quit(1)>>"%TEMP%\Comprobar_accesos_directos_rotos.vbs"
echo end if>>"%TEMP%\Comprobar_accesos_directos_rotos.vbs"
For /F "Tokens=*" %%a in ('dir /B /S "%appdata%\Microsoft\Windows\Start Menu\Programs\*.lnk"') do (
Set archivo="%%a"
call :comprobar
)
Goto :END
:Comprobar
::::::::::
"%TEMP%\Comprobar_accesos_directos_rotos.vbs" %archivo%
If %errorlevel% EQU 0 (
goto:eof
) ELSE (
Del /Q /F %archivo% >nul 2>&1
goto:eof
)
:END
pause
再见
答案 0 :(得分:1)
这样做似乎是一个巨大的痛苦,因为我的有限知识没有现成的解决方案。
但是,您可以创建一个小的可执行文件,如果缺少链接的目标,它将返回错误级别。 This网页介绍了如何创建此类程序。