CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"

Аватара пользователя
Nun-Nun

Re: CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"

Сообщение Nun-Nun »

Цитата Iska:



А как быть с теми программами, которые используют одну папку в Главном меню, например, MS Office и FrontPage?!
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"




Скрипт для таких монстров использоваться не будет. В основном предполагается установка-удаление небольших программ-утилит.


Цитата Iska:



Есть подозрение, что Вы не сможете его использовать при установке в виде Addon'ов в таком виде из-за «CreateObject("Shell.Application")».
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"




В принципе, для аддона, интегрируемого в дистрибутив Windows, этот скрипт и не нужен, т.к. в дистрибутиве нет предыдущих версий устанавливаемых (интегрируемых) программ, а вот для установки на живую систему - самое то! Так что, если после интеграции никаких сюрпризов не возникнет - можно считать, что цель достигнута.



P.S. Может в скрипт стОит добавить что-то типа функции определения, запущен ли скрипт на живой системе или нет? Если запущен не наживой системе, то не выполняется. Правда не представляю, возможно ли такое реализовать в принципе.
Аватара пользователя
Iska

Re: CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"

Сообщение Iska »

Цитата Nun-Nun:



…а вот для установки на живую систему - самое то!
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"




Ясно.


Цитата Nun-Nun:



P.S. Может в скрипт стОит добавить что-то типа функции определения, запущен ли скрипт на живой системе или нет? Если запущен не наживой системе, то не выполняется.
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"




Да нет проблем. Скажите, на что ориентироваться — сделаем Изображение.



Установкой приложений через addon'ы я не стал заниматься, ограничившись более удобным для меня методом «RunOnceEx», посему не особо представляю, на что там следует ориентироваться. Попробуйте спросить в соответствующей ветке по аддонам, а здесь дайте ссылку на свой пост, дабы я тоже мог смотреть на ответы.
Аватара пользователя
gora

Re: CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"

Сообщение gora »

Nun-Nun, интересно, а какова конечная цель всех этих действий? Ну удалили Вы ярлыки, а что с самими программами будет? С их записями в реестр?

Теперь давайте разберем использование задуманного Вами деяния в виде аддона. Пусть это будет SVCPACK аддон. Отличить его установку на T13 и на живую систему наверное можно. На T13 не существует некоторых системных переменных, например, HOMEDRIVE, APPDATA, TEMP, HOMEPATH и т.д. и можно проверять их существование, но что это даст? Аддон кастрируемой программы может устанавливаться и позже чем Ваш аддон. Он может устанавливаться и из RunOnceEx, и из Run, и из WPI, что сведет на нет деятельность Вашего, ибо он не увидит, устанавливаемых позже, аддонов.

Теперь про установку на живую систему "бедного" пользователя. Он привык к одному расположению ярлыков, а тут пришел Nun-Nun и все "почикал". Изображение Ярлык может использоваться не только для двойного клика, но и быть ссылкой для запуска программы из какого-то скрипта в котором его место уже прописано, После Вашего аддона, переписывать скрипты прикажете?

Не увидев ярлыка в привычном месте, пользователь может решить, что программы у него больше нет и, не проверив в Установка/удаление поставить поверх новую версию. Это не всегда безболезненно для программы да и мусор может оставаться.

Если Вы еще собираетесь по такому же принципу удалять сами программы (поиском на компьютере исполняемого файла), то у меня на компьютере упомянутого 7z.exe, разных версий, наберется не один десяток в разных закоулках для разных целей, как и ярлыков к ним. И все они мне нужны и доверять наводить порядок в ярлыках и программах Вашему скрипту я бы не решился.



Хотелось бы услышать: концепцию Вашего аддона, его конечную цель и круг его предполагаемых пользователей.
Аватара пользователя
Nun-Nun

Re: CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"

Сообщение Nun-Nun »

Цитата Iska:



Установкой приложений через addon'ы я не стал заниматься, ограничившись более удобным для меня методом «RunOnceEx», посему не особо представляю, на что там следует ориентироваться.
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"




Да хотя бы на переменные HOMEDRIVE, APPDATA, TEMP, HOMEPATH, о которых говорит gora. Или могу в интегрируемый аддон подкладывать какой-нибудь файл-пустышку (например, NoLiveOS), на наличие которого можно ориентировать Ваш скрипт.


Цитата Iska:



дайте ссылку на свой пост, дабы я тоже мог смотреть на ответы.
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"




Обязательно.


Цитата gora:



Аддон кастрируемой программы может устанавливаться и позже чем Ваш аддон. Он может устанавливаться и из RunOnceEx, и из Run, и из WPI, что сведет на нет деятельность Вашего, ибо он не увидит, устанавливаемых позже, аддонов.
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"




Увы, Вы не верно поняли мою идею. Я не собираюсь применять обсуждаемый скрипт и аддоны, сделанные на его основе, к чьим-то аддонам или программам, а предполагаю применение только в отношении аддонов, которые создаю сам, и о которых знаю всё, что они делают - куда и какие в систему копируют файлы, где и какие делают записали в реестре. И согласитесь, если я знаю это, предусмотреть корректность действий более новых версий аддонов вполне возможно, и не только возможно, но и нужно (ну должен же автор по мере возможностей стараться обеспечить правильность работы своих программ). Не так ли?


Цитата gora:



Не увидев ярлыка в привычном месте, пользователь может решить, что программы у него больше нет и, не проверив в Установка/удаление поставить поверх новую версию. Это не всегда безболезненно для программы да и мусор может оставаться.
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"




Думаю, что выше уже ответил и на это возражение.


Цитата gora:



Хотелось бы услышать: концепцию Вашего аддона, его конечную цель и круг его предполагаемых пользователей
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"




По поводу концепции я уже немного сказал выше. К этому добавлю, что ещё одним из интересных направлений считаю возможность установки новой версии прямо поверх более старой (без предварительного удаления старой). При этом аддон новой версии должен сначала корректно удалить аддон более старой версии и только после этого встать в систему. В общем-то весь сыр-бор пока вокруг этого. Кто аддонами воспользуется - пока не знаю, т.к. делаю их в первую очередь для себя, но если это ещё кого-то заинтересует - буду рад поделиться.
Аватара пользователя
Iska

Re: CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"

Сообщение Iska »

Жильцам от начальника ЖЭКа
Нет, что-то не то Изображение… А, вот как: Из письма в ПМ:



Цитата Nun-Nun:



Прошу прощения, вот в этой
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"
Вы помогли мне сделать скрипт для удаления ярлыков, но остался нерешённым вопрос относительно определения скриптом типа системы, т.е. живая или нет. Хочу Вас попросить: могли бы Вы добавить эту функцию? Ориентироваться можно, например, на файл-пустышку LiveOS: если он в аддоне есть, значит скрипт запущен на живой системе, если нет - интегрирован в дистрибутив XP (перед интеграцией пользователь должен будет его удалить).



Расскажите мне, что это означает «…если он в аддоне есть».


Цитата Nun-Nun:



P.S. И ещё один вопрос: поскольку скрипт написан на языке, отличающемся от языка обычного bat-ника, хотелось бы узнать как он должен быть оформлен: файл со скриптом просто сохранить как bat-ник, больше ничего не трогая, или в тексте bat-файла требуется добавить ещё какие-либо команды?



Сохранить текст скрипта в файл в кодировке ANSI (windows-1251) с расширением «vbs». Вызов осуществляется как:



Код:

Код: Выделить всё

wscript.exe "«путь к файлу скрипта.vbs»"

в GUI режиме, и:



Код:

Код: Выделить всё

cscript.exe //nologo "«путь к файлу скрипта.vbs»"

в консольном режиме. Для пакетного режима работы (подавление выводимых скриптом сообщений) дополнительно добавляется параметр «//b». Подробности, как обычно, в «wscript.exe /?».



P.S. Подобные вопросы следует задавать непосредственно в теме, ибо:

* ответ в любом случае появится там же, поскольку ограничение на размер письма в ПМ не позволяет ответить иначе, нежели в теме;

* задавая вопрос не на форуме, а одному человеку в ПМ, Вы резко сокращаете аудиторию, которая могла бы дать Вам ответ. Помимо Iska на форуме более чем достаточно участников, могущих и умеющих помочь.
Аватара пользователя
Nun-Nun

Re: CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"

Сообщение Nun-Nun »

Цитата Iska:



Расскажите мне, что это означает «…если он в аддоне есть».
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы"




Изначально он будет присутствовать в составе аддона и будет лежать рядом с исполняемым файлом аддона. Если пользователю необходима интеграция, то до запуска этого процесса пользователь должен будет файл удалить.

В принципе, если сочтёте, что лучше сделать по-другому - я возражать не буду, просто мне показалось, что предложенный вариант наиболее лёгкий в реализации (в крайнем случае могу даже и без этого обойтись: на живой системе запускать exe-шником, а из дистриба - батником, тогда вообще никаких проблем).



P.S. За подсказки спасибо, а вот юмор по поводу сообщения, перекочевавшего из ПМ, выглядит, мягко говоря, странно.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»