|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удалить неверные ярлыки |
|
|
CMD/BAT - Удалить неверные ярлыки
|
Ветеран Сообщения: 2183 |
Профиль | Отправить PM | Цитировать
Многие программы-чистильщики имеют возможность удалять с рабочего стола (и не только) неверные ярлыки. Хочется понять принцип их работы и возможность реализации батником (без использования сторонними утилитами).
|
|
Отправлено: 11:01, 06-06-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Принцип работы простой — проверить существование файлового объекта по целевому пути ярлыка и, в случае его отсутствия, вывести запрос на удаление такого ярлыка.
Цитата sov44:
|
|
Отправлено: 11:07, 06-06-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2183
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:36, 06-06-2014 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Как-то так (перечисление без удаления):
Option Explicit Dim strSourceFolder Dim objWshShell Dim objFSO Dim objShell Dim objFile Dim objRecord Set objWshShell = WScript.CreateObject("WScript.Shell") Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objShell = WScript.CreateObject("Shell.Application") strSourceFolder = objWshShell.SpecialFolders("Desktop") With objFSO If .FolderExists(strSourceFolder) Then For Each objFile In .GetFolder(strSourceFolder).Files If StrComp(.GetExtensionName(objFile.Name), "lnk", vbTextCompare) = 0 Then On Error Resume Next Set objRecord = WScript.CreateObject("WindowsInstaller.Installer").ShortcutTarget(objFile.Path) If Err.Number <> 0 Then Err.Clear On Error Goto 0 With objWshShell.CreateShortcut(objFile.Path) If Not objFSO.FileExists(.TargetPath) Then With objShell.NameSpace(objFSO.GetParentFolderName(objFile.Path)).ParseName(objFile.Name).GetLink If Not objFSO.FileExists(.Target.Path) Then WScript.Echo objFile.Name End If End With End If End With Else On Error Goto 0 Set objRecord = Nothing End If End If Next Else WScript.Echo "Can't find Desktop folder [" & strSourceFolder & "]." End If End With Set objShell = Nothing Set objFSO = Nothing Set objWshShell = Nothing WScript.Quit 0 |
Отправлено: 13:11, 06-06-2014 | #4 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 21:32, 06-06-2014 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
|
|
Отправлено: 02:24, 07-06-2014 | #6 |
Ветеран Сообщения: 2183
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 19:07, 11-06-2014 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать sov44, speak in russian, please.
|
Отправлено: 19:59, 11-06-2014 | #8 |
Ветеран Сообщения: 2183
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 12:58, 09-10-2014 | #9 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать sov44, выложите пример такого ярлыка (в архиве).
|
Отправлено: 13:10, 09-10-2014 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Как удалить ярлыки (в меню "Пуск" - "Программы", с рабочего стола, и т. д.) | Craager | Автоматическая установка Windows 2000/XP/2003 | 167 | 08-05-2015 02:50 | |
[решено] Как вручную удалить вирус который не могут удалить антивирусы. | LiSS71 | Лечение систем от вредоносных программ | 3 | 20-08-2011 23:32 | |
CMD/BAT - Как удалить сет.диски,добавить,добавить ярлыки на раб.стол. | Nuc7ear | Скриптовые языки администрирования Windows | 0 | 10-03-2011 20:16 | |
Неверные пропорции при воспроизведении файла moi | Eliyahu | Видео и аудио: обработка и кодирование | 8 | 04-06-2010 01:19 | |
Разное - [решено] Как удалить ярлык с рабоч. стола, если в контекстном меню нет пункта Удалить | Denkxx | Microsoft Windows 7 | 5 | 25-09-2009 14:56 |
|