команда powershell, чтобы закрыть windows окно проводника на основе выбора - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь выполнить команду powershell, используя мою программу, чтобы закрыть windows окно проводника на основе выбора. Кажется, что выполняется правильно, но окно не закрывается. Может кто-нибудь помочь мне решить эту проблему?

Вот команда: закрыть windows окно проводника, которое выбрало C диск.

powershell.exe  (((((New-Object -ComObject Shell.Application).Windows()) ^| Where-Object { $_.LocationURL -like '$(([uri]"C:\").AbsoluteUri)*' }))  ^| ForEach-Object { $_.Quit() })

1 Ответ

0 голосов
/ 13 февраля 2020

Мне показалось, что это работает:

$ShellApplication = New-Object -ComObject Shell.Application
$ShellApplication.Windows() | Where-Object{$_.Name -eq "File Explorer" -and $_.LocationURL -match "General_logs" } | ForeEach-Object{ $_.Quit() }

Очевидно, вам нужно изменить то, что вы подходите. Я не сильно с этим связывался, мы можем сделать это более красноречивым. Дайте мне знать, как это происходит.

В одну строку:

(New-Object -ComObject Shell.Application).Windows() | Where-Object{$_.Name -eq "File Explorer" -and $_.LocationURL -match "General_logs" } | ForEach-Object{ $_.Quit() }

Теперь, если вы хотите запустить из PowerShell.exe:

powershell -NoProfile -WindowStyle Hidden -command .{ (New-Object -ComObject Shell.Application).Windows() | Where-Object{$_.Name -eq 'File Explorer' -and $_.LocationURL -match 'General_logs' } | ForEach-Object{ $_.Quit() } }

Это сработало для меня но обратите внимание, я должен был изменить цитату. Моя плохая привычка заключать в кавычки, когда это не нужно. Я также добавил -WindowStyle Hidden, чтобы вы не получили fla sh консоли и -NoProfile, так что вам не нужно ждать запуска сценария профиля ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...