Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] поиск по имени

Ответить
Настройки темы
PowerShell - [решено] поиск по имени

Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день! Помогите со скриптом. Нужно найти файл по имени, например в Program Files, и при его наличии совершить действие с каталогом в котором находиться этот файл.

Отправлено: 12:37, 04-04-2016

 

Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо не помогло. Немного переделал поиск и все пошло

возникла новая головная боль
Код: Выделить весь код
cls
$target = "$env:ProgramFiles\v\v.exe"
$file = "$env:ALLUSERSPROFILE\Start Menu\Programs\V\v.lnk"
$file
$shell = New-Object -comObject Wscript.Shell
$shortcut = $shell.CreateShortcut($file)
$shortcut.TargetPath = $target
$shortcut.Save()
не работает

Исключение при вызове "Save" с "0" аргументами: "Не удается сохранить ярлык "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\V\v.lnk"."
строка:8 знак:15
+ $shortcut.Save <<<< ()
+ CategoryInfo : NotSpecified: ( [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation

хотя на рабочем столе создает без проблем

Отправлено: 15:15, 08-04-2016 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Цитата viko2323:
Код: Выделить весь код
$file = "$env:ALLUSERSPROFILE\Start Menu\Programs\V\v.lnk"
А вы уверены, что у вас указан правильный результирующий путь? У меня например Start Menu расположено так:
Код: Выделить весь код
 > (gci $env:allusersprofile 'Start Menu' -rec -force -dir -ea 0).fullname
C:\ProgramData\Microsoft\Windows\Start Menu

Отправлено: 10:31, 09-04-2016 | #22


Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подскажите пожалуйста как узнать куда ссылается ярлык

Цитата Foreigner:
А вы уверены, что у вас указан правильный результирующий путь? У меня например Start Menu расположено так: »
Путь возвращает правильный, просто прежде чем создать там ярлык нужно создать все каталоги пути после $env:ALLUSERSPROFILE\Start Menu\Programs

Отправлено: 12:22, 09-04-2016 | #23


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


А какой смысл переносить Start Menu? Если и так есть специально для этого предназначенная папка?
Код: Выделить весь код
> [environment]::GetFolderPath('CommonStartMenu')
C:\ProgramData\Microsoft\Windows\Start Menu

Отправлено: 13:20, 09-04-2016 | #24


Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


я ее никуда не переношу

Отправлено: 13:30, 09-04-2016 | #25


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Цитата viko2323:
я ее никуда не переношу »
Тогда не понятно почему у вас папка "Start Menu" расположена по другому пути, отличному от штатного (начиная с семерки)

Отправлено: 13:47, 09-04-2016 | #26


Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подскажите пожалуйста как узнать куда ссылается ярлык

Отправлено: 10:26, 11-04-2016 | #27


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


viko2323
Код: Выделить весь код
$shell = new-object -com wscript.shell
$shell.createshortcut('C:\Full\Path\To\file.lnk').targetpath
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:06, 11-04-2016 | #28


Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


огромное спасибо

Отправлено: 18:14, 11-04-2016 | #29


Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день! Подскажите пожалуйста как из этого поиска исключить каталог Windows
Код: Выделить весь код
    $disk = get-wmiobject Win32_LogicalDisk | where {$_.drivetype -eq 3}
    $v = $disk | foreach {get-childitem "$($_.deviceid)\" -Include v.exe -recurse -force -ea 0} | Foreach {$_.DirectoryName}

Отправлено: 08:43, 12-04-2016 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] поиск по имени

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] поиск дубликатов по частям имени файлов c4uran Скриптовые языки администрирования Windows 2 10-12-2015 11:49
Любой язык - Поиск файлов по имени папки и сортировка Noscripter Скриптовые языки администрирования Windows 1 23-03-2015 00:43
[решено] Поиск программы по имени и ее запуск eus_deus AutoIt 6 25-09-2013 17:53
CMD/BAT - Поиск файла по введенному имени Ceval Скриптовые языки администрирования Windows 15 09-11-2012 13:53
[решено] Поиск DNS имени по IP адрессу MPru Программирование и базы данных 4 17-04-2007 10:48




 
Переход