我想获取所有打开的资源管理器窗口标题和当前路径的报告。当前路径的一部分是问题,用C#回答here,但是我想要这个用于powershell,我不知道如何适应它。 我不确定如何显示窗口标题的一部分。获取所有打开的资源管理器窗口的报告
有人请协助。
我想获取所有打开的资源管理器窗口标题和当前路径的报告。当前路径的一部分是问题,用C#回答here,但是我想要这个用于powershell,我不知道如何适应它。 我不确定如何显示窗口标题的一部分。获取所有打开的资源管理器窗口的报告
有人请协助。
听起来好像你正在寻找这样的事情:
$app = New-Object -COM 'Shell.Application'
$app.Windows() | Select-Object LocationURL
AFAICS窗口对象没有标题属性,但你可以通过窗口句柄得到Get-Process
信息ID:
function Get-WindowTitle($handle) {
Get-Process |
Where-Object { $_.MainWindowHandle -eq $handle } |
Select-Object -Expand MainWindowTitle
}
$app = New-Object -COM 'Shell.Application'
$app.Windows() |
Select-Object LocationURL, @{n='Title';e={Get-WindowTitle $_.HWND}}
)这是该过程的另一个步骤。如果我正确推断,这给了我等式的ShellWindowsClass部分,但我也想获取应用程序标题栏从它 即 标题栏LocationURL C:\ DIR1文件:// C:/ DIR1 C:\ DIR2文件:// C:/ DIR2 旁注:从该区域进行测试LOCATIONNAME,反倒增加它到我的最终选择,因为一些地点可能没有LocationURL(如设备和打印机等..) (对不起,经过多次编辑,我似乎不能得到换行符工作。) – CoderWolf
Windows资源管理器必须有信息的地方,因为它显示在任务栏中,除非他们只是在位置URL格式术语之间进行转换,而不使用较旧的标准DOS风格命名法。 PS对不起,延误了几天。 – CoderWolf
猜想我会解决我现在的一半, – CoderWolf
你有没有尝试过PowerShell的任何东西?获取任何特定的错误? – MichaelChirico
我还没有尝试过任何东西。主要是因为我不知道如何在PowerShell中使用ShellWindowClass。由于Windows资源管理器嵌入了其所有进程,因此无法使用get-process来执行任何操作,如get-process | echo $ _。mainWindowTitle – CoderWolf
根据Ansgar的回答:'LocationName'是包含窗口名称的属性,如任务栏中所用。使用他的答案,你可以看到'LocationName': '$ app.Windows()| Select-Object LocationURL,LocationName' ...''LocationName'对于本地文件夹是可以工作的。 *(远程文件夹还包含括号中的unc名称(\\ – MikeD