PDA

Показать полную графическую версию : Скрипт поиска файла и создание к нему ярлыка.


Алексей_Зайцев@vk
21-10-2014, 15:45
В общем, цель такова: нужен скрипт, который ищет файл App.exe на компьютере, который может находится где угодно и создаёт его ярлык в определённой папке. Поскольку используются только windows, попробовал использовать поиск на bat + создание ярлыка vbs, но не знаю как передать параметры поиска в ярлык)) И к тому же данная конструкция работает не на всех системах и компьютерах. Есть ещё вариант искать данные в реестре. Или поиск пишет данные в текстовик, а из этих данных создаётся ярлык. Ваши предложения?

Georgio
21-10-2014, 15:54
И к тому же данная конструкция работает не на всех системах и компьютерах. »

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

Алексей_Зайцев@vk
23-10-2014, 16:44
Хорошо, сегодня вечером батник поиска выложу т.к. наизусть его не помню.)) Не работает сам этот батник. Скажем, на моём windows xp он работает, а на втором хр или на 7 уже нет.

Алексей_Зайцев@vk
24-10-2014, 13:05
Что-то батник не нашёл. Однако, помню что он похож на скрипт из этой темы: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
Ладно, в общем тему закрываю. С батником поиска, если я его найду, лучше использовать 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
А вот кстати и батник (всё таки нашёл): »
Найти-то нашли, но не то:
ищет файл App.exe на компьютере, который может находится где угодно »

С батником поиска, если я его найду, лучше использовать AutoIt или его аналоги.)) »
Ни с AutoIt, ни с WSH, ни с PoSH нет никакой нужды в использовании «батников поиска».

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

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

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

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

Iska
28-10-2014, 11:30
Если будет найдено несколько файлов, то записать пути в текстовый файл. »
Ну, раз так… Держите:
wmic.exe DataFile where "FileName='App' AND Extension='exe'" get Name
Главное — наберитесь терпения, пока не «прошерстит» все диски и все файлы :lol:. Запись в файл — обычным перенаправлением вывода.

Алексей_Зайцев@vk
29-10-2014, 14:39
В Windows терпение пригодится)) Спасибо))




© OSzone.net 2001-2012