Манипулирование окнами Проводника с использованием powershell

Рейтинг: 2Ответов: 1Опубликовано: 18.05.2023

Как, используя PowerShell, изменить размер открытых окон и их положение в Проводнике?

Ответы

▲ 0

В целом, ежели я всё-таки правильно понял вопрос, несложно, хотя и немного нестандартно:

#Создадим окно Проводника для тестов
$ShellExp = New-Object -ComObject Shell.Application
#Открываем папку
$ShellExp.open("k:\test\")

Теперь попробуем манипулировать открытым окном. По идее, вполне могло бы сработать стандартное:

$ShellExp.top = 10 
$ShellExp.width = 2300
$ShellExp.height = 6
$ShellExp.Left = 1200

Но проводник, начиная с какого-то времени (точно не скажу, связано ли это с версиями Windows или с версиями powershell) не позволяет работать с параметрами окна по причине, что может иметь несколько окон для одного объекта. Поэтому мы должны обратиться к массиву windows():

$ShellExp.windows()[0].Top = 10
$ShellExp.windows()[0].Width = 2300
$ShellExp.windows()[0].Left = 6
$ShellExp.windows()[0].Height = 1200

И, да: если у нас несколько окон проводника, то и обращаться мы должны к соответствующему элементу массива, например:

$ShellExp.windows()[1].Top = 100
$ShellExp.windows()[1].Width = 1300
$ShellExp.windows()[1].Left = 60
$ShellExp.windows()[1].Height = 800