specialist
09-12-2015, 14:37
Итак, имеем сборник WPI с бесплатным софтом, который ставится автоматом. Впоследствии имеем много (штук 30) ярлыков на рабочем столе и не менее дюжины в панели задач (в данном случае применительно к Windows 8.1, но думаю и в более поздних может тоже проявляться).
Захламленный новыми ярлыками рабочий стол было решено чистить их перемещением в каталог Soft
в результате подсказки на одном из форумов, родилось пару строк:
FORFILES /P "%public%\desktop" /M *.lnk /D %DATE% /C "cmd /c move /y @path "%public%\desktop\Soft""
FORFILES /P "%userprofile%\desktop" /M *.lnk /D %DATE% /C "cmd /c move /y @path "%public%\desktop\Soft""
которые перемещают с рабочих столов текущего пользователя и общего профиля только те ярлыки, которые появились в текущий день в новый каталог.
аналогично решил поступить с ярлыками в панели задач
FORFILES /S /P "%AppData%\Microsoft\Internet Explorer\Quick Launch" /M *.lnk /D %DATE% /C "cmd /c del @path /f /q"
но вот незадача: ярлыки физически удаляются, но на панели задач остаются дохлые иконки, при нажатии на которые сообщается что не удается открыть этот элемент, т.к. он возможно был удален, перемещен и т.д. и предлагает удалить ярлык (после перезагрузки или перелогина все остается на своих местах). вот и интересно где винда еще может хранить инфу...
Решение:
вобщем для себя задачу решил таким образом:
в операциях WPI назначенных до установки программ выполняется
REG EXPORT HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband "%temp%\taskband.reg"
а после выполнения всех установок чистятся от новых ярлыков по вышеприведенной схеме соответствующие каталоги и запускается батник
FORFILES /P "%public%\desktop" /M *.lnk /D %DATE% /C "cmd /c move /y @path "%public%\desktop\Программы""
FORFILES /P "%userprofile%\desktop" /M *.lnk /D %DATE% /C "cmd /c move /y @path "%public%\desktop\Программы""
FORFILES /S /P "%AppData%\Microsoft\Internet Explorer\Quick Launch" /M *.lnk /D %DATE% /C "cmd /c del @path /f /q"
FORFILES /P "%systemdrive%\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch" /M *.lnk /D %DATE% /C "cmd /c del @path /f /q"
reg import "%temp%\taskband.reg"
del /f /q "%temp%\taskband.reg"
taskkill /f /im explorer.exe
start "" explorer.exe
который перезаписывает нужную ветку реестра данными снятыми до начала установки всех программ и перезапускает проводник
Захламленный новыми ярлыками рабочий стол было решено чистить их перемещением в каталог Soft
в результате подсказки на одном из форумов, родилось пару строк:
FORFILES /P "%public%\desktop" /M *.lnk /D %DATE% /C "cmd /c move /y @path "%public%\desktop\Soft""
FORFILES /P "%userprofile%\desktop" /M *.lnk /D %DATE% /C "cmd /c move /y @path "%public%\desktop\Soft""
которые перемещают с рабочих столов текущего пользователя и общего профиля только те ярлыки, которые появились в текущий день в новый каталог.
аналогично решил поступить с ярлыками в панели задач
FORFILES /S /P "%AppData%\Microsoft\Internet Explorer\Quick Launch" /M *.lnk /D %DATE% /C "cmd /c del @path /f /q"
но вот незадача: ярлыки физически удаляются, но на панели задач остаются дохлые иконки, при нажатии на которые сообщается что не удается открыть этот элемент, т.к. он возможно был удален, перемещен и т.д. и предлагает удалить ярлык (после перезагрузки или перелогина все остается на своих местах). вот и интересно где винда еще может хранить инфу...
Решение:
вобщем для себя задачу решил таким образом:
в операциях WPI назначенных до установки программ выполняется
REG EXPORT HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband "%temp%\taskband.reg"
а после выполнения всех установок чистятся от новых ярлыков по вышеприведенной схеме соответствующие каталоги и запускается батник
FORFILES /P "%public%\desktop" /M *.lnk /D %DATE% /C "cmd /c move /y @path "%public%\desktop\Программы""
FORFILES /P "%userprofile%\desktop" /M *.lnk /D %DATE% /C "cmd /c move /y @path "%public%\desktop\Программы""
FORFILES /S /P "%AppData%\Microsoft\Internet Explorer\Quick Launch" /M *.lnk /D %DATE% /C "cmd /c del @path /f /q"
FORFILES /P "%systemdrive%\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch" /M *.lnk /D %DATE% /C "cmd /c del @path /f /q"
reg import "%temp%\taskband.reg"
del /f /q "%temp%\taskband.reg"
taskkill /f /im explorer.exe
start "" explorer.exe
который перезаписывает нужную ветку реестра данными снятыми до начала установки всех программ и перезапускает проводник