iampradeepsharma Ответов: 2

Как найти ярлык в VBS


всем привет ,

Я просто хочу знать, как я могу проверить ярлык, если он существует (скажем, если MyProgram.lnk выходит на рабочий стол или нет )в скрипте VBS .

С уважением ,
Прадип

2 Ответов

Рейтинг:
1

Hackoo

Этот пакетный скрипт может извлечь целевой путь любой ссылки с этими расширениями .ЛНК или .URL-адрес

@echo off
Title Extracting target from shortcut (*.url) and (*.lnk) by Hackoo 2017
Mode con cols=62 lines=3 & color 9E
Set "Log=%~dp0TARGET_LINK_PATHS.txt"
Set "TmpVbs=%Tmp%\%~n0.vbs"
::************************************************************************
(
	echo set Ws = CreateObject("WScript.Shell"^)
	echo set Lnk = Ws.Createshortcut(WScript.Arguments(0^)^)
	echo WScript.echo Chr(34^) ^& Lnk.TargetPath ^& Chr(34^)
)>"%Tmpvbs%"
::************************************************************************
Set "Links=url lnk"
Set "Folders=%UserProfile%\Desktop %Public%\Desktop %AllUsersprofile%"
For %%i in (%Links%) Do (
	For %%F in (%Folders%) Do (
		Cls
		Echo *****************************************************************
		Echo "%%F" for "*.%%i" Links
		(echo. & echo     Scanning "%%F" for "*.%%i" Links ...)>CON
		Echo *****************************************************************
		Echo;
			For /f "delims=" %%L in ('Dir /b /s "%%F\*.%%i"') do (
	 			echo "%%L" & Call:ExtractTarget "%%L"
	 			echo  --------------------------------------------------------
			)
	)		
)>>"%Log%"
Start "" /MAX "%Log%"
If Exist "%Tmpvbs%" Del "%Tmpvbs%"
Exit
::*************************************************************************
:ExtractTarget <Link>
cscript //nologo "%Tmpvbs%" "%~1"
Exit /b
::*************************************************************************


OriginalGriff

Хотя я аплодирую вашему стремлению помогать людям, это хорошая идея придерживаться новых вопросов, а не 5-летних. После такого количества времени маловероятно, что оригинальный плакат вообще заинтересован в проблеме больше!
Ответы на старые вопросы можно рассматривать как охоту за репостами, которая является формой злоупотребления сайтом. Более триггерные счастливые среди нас начнут процесс запрета вас с сайта, если вы не будете осторожны. Придерживайтесь новых вопросов, и все будет хорошо.

Hackoo

@OriginalGriff Хорошо,спасибо за ваш ответ, так что моя цель-просто помогать людям, в следующий раз я позабочусь о том, что вы сказали мне в своем комментарии !
Хорошего вам дня, сэр !

OriginalGriff

Никаких проблем!

Рейтинг:
0

CHill60

Вот некоторые vbs, которые ищут определенный ярлык

Dim fso, msg
Dim filesearch

filesearch = "C:\Program Files\Bonjour\About Bonjour.lnk"

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(filesearch) Then
   msg = filesearch + " exists."
Else
   msg = filesearch + " doesn't exist."
End If
wscript.echo msg

Взяты по существу на Статья M$ [^]

Если вы хотите найти папку рабочего стола для текущего пользователя попробуйте сделать это
Dim oNetW, sUName
Set oNetW = CreateObject("Wscript.Network")
Wscript.echo "User : " & oNetW.UserName
Wscript.echo "Desktop folder : " & "C:\Users\" & oNetW.UserName & "\Desktop"