![]() |
Поиск разноименных ярлыков по свойству(ам)
Здравствуйте, коллеги.
Не сталкивался ли кто-нибудь с описанной в заголовке задачей? Поясню: пользователи создавали себе ярлыки на сетевые папки, расположенные на разных серверах. Имена ярлыков произвольные. Хотелось бы объединить все сетевые папки на одном файл-сервере. Перенести данные и ACL, конечно, не проблема, но что делать с ярлыками, которые пользователи себе насоздавали (тысячи их)? Вручную менять ярлыки очень долго и муторно. Хотелось бы написать некий скрипт, который бы анализировал поле "Объект" всех ярлыков на рабочем столе и при нахождении соответствия удалял ярлык, а вместо него копировал бы другой с определенным стандартизированным именем. На примере это выглядит следующим образом: есть два пользователя - Вася и Коля, которые используют сетевую папку \\SRV1\Folder\. Вася создал ярлык к папке \\SRV1\Folder\ и назвал его "Общая", Коля же, создав ярлык туда же назвал его "Сервер". Неожиданно имя сервера изменилось на SRV2 и ярлыки перестали работать. Было принято решение для всех Вась и Коль создать групповую политику, которая находила бы их ярлыки к папке \\SRV1\Folder\, и либо меняла путь на \\SRV2\Folder\, либо удаляла старые ярлыки, указывающие на \\SRV1\Folder\, а вместо них копировала на рабочий стол новые, указывающие на \\SRV2\Folder\. С уважением, |
Цитата:
|
Шальной., Попробуйте, для домашнего ноутбука с локальными путями работает
Код:
pushd "$home\desktop" |
Спасибо вам огромное, Iska и Foreigner!
И на VBS и на PowerShell сработало так, как и было необходимо! Вы серьезно облегчили мне жизнь! :) Не хочу показаться наглым, но т.к. я пока только вхожу в изучение скриптовых языков, не могли бы вы заодно показать, как заодно переименовать эти ярлыки, например в "Общий сетевой ресурс"? Кстати, вопрос к Iska - почему копирование готового ярлыка это плохая идея? И если Вас не затруднит, не могли бы Вы прокомментировать строку Цитата:
|
Цитата:
Код:
... |
Цитата:
Цитата:
Цитата:
|
Отлично!
Просто супер! Еще раз большое спасибо! :) Единственный вопрос - если ярлыков ссылающихся на одно и то же расположение больше одного, то при запуске вылетает ошибка, говорящая о том, что ярлык с таким именем уже существует. Возможно ли в таком случае добавлять цифирку в скобочках, как в проводнике - "Общий сетевой ресурс (2).lnk"? И если это не вызовет Ваш гнев - возможно ли использование знаков подстановки с этих скриптах? Поясню, есть сетевой ресурс \\SRV1\Folder\, а в нем папки Dir1, Dir2 и Dir3. И пользователь сделал ярлык не на сетевой ресурс \\SRV1\Folder\, а на папку внутри этого ресурса \\SRV1\Folder\Dir1. В этом случае, скрипт этот ярлык проигнорирует. Возможно ли использовать знаки подстановки (например знак "*"), для того чтобы создать ярлык на ресурс \\SRV2\Folder\Dir1. Т.е. некая часть пути была бы статично прописана, а другая часть пути была бы динамической. С большим уважением ко всем, |
Время: 03:24. |
Время: 03:24.
© OSzone.net 2001-