Манипулирование окнами Проводника с использованием powershell
Как, используя PowerShell, изменить размер открытых окон и их положение в Проводнике?
Источник: Stack Overflow на русском
Как, используя PowerShell, изменить размер открытых окон и их положение в Проводнике?
В целом, ежели я всё-таки правильно понял вопрос, несложно, хотя и немного нестандартно:
#Создадим окно Проводника для тестов
$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