Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Скрипт поиска файла и создание к нему ярлыка. (http://forum.oszone.net/showthread.php?t=289756)

Алексей_Зайцев@vk 21-10-2014 15:45 2418381

Скрипт поиска файла и создание к нему ярлыка.
 
В общем, цель такова: нужен скрипт, который ищет файл App.exe на компьютере, который может находится где угодно и создаёт его ярлык в определённой папке. Поскольку используются только windows, попробовал использовать поиск на bat + создание ярлыка vbs, но не знаю как передать параметры поиска в ярлык)) И к тому же данная конструкция работает не на всех системах и компьютерах. Есть ещё вариант искать данные в реестре. Или поиск пишет данные в текстовик, а из этих данных создаётся ярлык. Ваши предложения?

Georgio 21-10-2014 15:54 2418385

Цитата:

Цитата Алексей_Зайцев@vk
И к тому же данная конструкция работает не на всех системах и компьютерах. »

Приведите код (коды) этой "конструкции". Что и на каких системах не работает?

Алексей_Зайцев@vk 23-10-2014 16:44 2419429

Хорошо, сегодня вечером батник поиска выложу т.к. наизусть его не помню.)) Не работает сам этот батник. Скажем, на моём windows xp он работает, а на втором хр или на 7 уже нет.

Алексей_Зайцев@vk 24-10-2014 13:05 2419801

Что-то батник не нашёл. Однако, помню что он похож на скрипт из этой темы:http://forum.oszone.net/thread-183864.html, только поиск был по всем дискам A...Z. А вот vbs создания ярлыка:
Код:

Option Explicit

Dim oShell, oShortCut, sDeskTopPath

Set oShell = CreateObject("Wscript.Shell")

sDeskTopPath = oShell.SpecialFolders("AllUsersDesktop")

Set oShortCut = oShell.CreateShortcut(sDeskTopPath & "\App.lnk")

oShortCut.Hotkey = "CTRL+SHIFT+A"

oShortCut.TargetPath = "D:/Programs/App.exe"

oShortCut.Save


Алексей_Зайцев@vk 27-10-2014 12:36 2420962

Ладно, в общем тему закрываю. С батником поиска, если я его найду, лучше использовать AutoIt или его аналоги.)) Продолжу изучение vbs или перейду на что-нибудь более серьёзное.

А вот кстати и батник (всё таки нашёл):
Код:

For %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do If Exist %%i:\App.exe %%i:\App.exe

Iska 27-10-2014 13:08 2420972

Цитата:

Цитата Алексей_Зайцев@vk
А вот кстати и батник (всё таки нашёл): »

Найти-то нашли, но не то:
Цитата:

Цитата Алексей_Зайцев@vk
ищет файл App.exe на компьютере, который может находится где угодно »

Цитата:

Цитата Алексей_Зайцев@vk
С батником поиска, если я его найду, лучше использовать AutoIt или его аналоги.)) »

Ни с AutoIt, ни с WSH, ни с PoSH нет никакой нужды в использовании «батников поиска».

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

Алексей_Зайцев@vk 28-10-2014 10:46 2421401

У меня есть пока ещё недоделанная программа, своеобразный лаунчер. Он может запускать приложение в .ехе или через ярлык .lnk Так вот данная идея мне нужна для автоматизации этого процесса и не только для своего компьютера. О нескольких файлах я тоже думал. Почему выбор лёг на батник и vbs - потому что я их более или менее знаю и их можно упаковать в один исполнимый файл (если один bat или один vbs). Меня и интересует, возможно ли это или стоит изучить что-нибудь ещё и собрать всю эту программу воедино.)) Понимаю, выглядит глупо.

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

Т.е. AutoIt тут не сильно помогут? Я правильно понимаю?

Iska 28-10-2014 11:30 2421424

Цитата:

Цитата Алексей_Зайцев@vk
Если будет найдено несколько файлов, то записать пути в текстовый файл. »

Ну, раз так… Держите:
Код:

wmic.exe DataFile where "FileName='App' AND Extension='exe'" get Name
Главное — наберитесь терпения, пока не «прошерстит» все диски и все файлы :lol:. Запись в файл — обычным перенаправлением вывода.

Алексей_Зайцев@vk 29-10-2014 14:39 2422171

В Windows терпение пригодится)) Спасибо))


Время: 21:01.

Время: 21:01.
© OSzone.net 2001-