Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удалить неверные ярлыки

Ответить
Настройки темы
CMD/BAT - Удалить неверные ярлыки

Ветеран


Сообщения: 2182
Благодарности: 720


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: sov44
Дата: 06-06-2014
Описание: без использования сторонних утилит
Многие программы-чистильщики имеют возможность удалять с рабочего стола (и не только) неверные ярлыки. Хочется понять принцип их работы и возможность реализации батником (без использования сторонними утилитами).

Отправлено: 11:01, 06-06-2014

 

Ветеран


Сообщения: 2182
Благодарности: 720

Профиль | Отправить PM | Цитировать


Хочется видеть путь типа g:\ConsultantPlus\cons.exe

Последний раз редактировалось sov44, 20-06-2015 в 20:03.


Отправлено: 13:30, 09-10-2014 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата sov44:
Iska, мой вариант. как будет выглядеть батник? »
sov44, ничего не понял.

Отправлено: 15:36, 09-10-2014 | #12


Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


sov44, как-то так:


Код: Выделить весь код
@echo off

setlocal enabledelayedexpansion
for %%i in (*.lnk) do (
 for /f "tokens=1 delims=[]" %%j in ('
  find /n "\\"^<"%%i"
 ') do (
  for /f "tokens=1,2 delims=|" %%k in ('set /a %%j+1^& set /p^=^^^|^<nul^& set /a %%j+2') do (
   for /f "tokens=1* delims=[]" %%m in ('find /n /v ""^<"%%i"') do (
    if "%%m"=="%%k" set x=%%n
    if "%%m"=="%%l" set y=%%n
    )
   )
  if not exist "!x!\!y!" (
   echo "!x!\!y!" not exist.
   del "%%i"&& (
   echo.
   echo "%%~nxi" was deleted.
   )|| (
   echo Failed to delete %%~nxi.
   )
   echo.
   echo.
   )
  )
 )
endlocal

pause>nul
exit /b

.


Неверные ярлыки для несетевых объектов этот пакетный файл удалять не будет.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:49, 09-10-2014 | #13


Ветеран


Сообщения: 2182
Благодарности: 720

Профиль | Отправить PM | Цитировать


Цитата Iska:
sov44, ничего не понял. »

Нужно парсить ярлыки рабочего стола, выводить в консоль пути к программам, в том числе и к программам, размещённым на сервере.

Отправлено: 16:51, 09-10-2014 | #14


Ветеран


Сообщения: 2182
Благодарности: 720

Профиль | Отправить PM | Цитировать


Georgio, спасибо! Работает на тестовом Файле, завтра поэкспериментирую с другими линками.

Последний раз редактировалось sov44, 09-10-2014 в 22:54.


Отправлено: 20:31, 09-10-2014 | #15



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удалить неверные ярлыки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Как удалить ярлыки (в меню "Пуск" - "Программы", с рабочего стола, и т. д.) 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




 
Переход