好友
阅读权限30
听众
最后登录1970-1-1
|
本帖最后由 onlyclxy 于 2024-4-26 23:41 编辑
好长一段时间,一直好奇Listary的跳转原理是什么
问了好久的gpt,找到了一个直接改变路径的方案.
[PowerShell] 纯文本查看 复制代码 $shell = New-Object -ComObject Shell.Application
$windows = $shell.Windows()
foreach ($window in $windows) {
# 检查是否为文件系统的窗口
if ($window.LocationURL -match '^file:///') {
# 将URL格式的路径转换为普通文件路径
$path = [System.Uri]$window.LocationURL
$localPath = $path.LocalPath
# 检查路径是否位于D盘
if ($localPath -match '^D:\\') {
# 构造对应的C盘路径
$newPath = $localPath -replace '^D:\\', 'C:\'
# 使用Navigate方法前进到新路径
$window.Navigate("file:///$newPath")
# 输出操作信息
Write-Host "已尝试将窗口从 $localPath 前进到 $newPath"
}
}
}
# 清理COM对象
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($shell) | Out-Null
Remove-Variable shell
这个可以把有D盘的路径直接跳转到C盘,但是这种会把所有包含D:\的窗口 都跳转到C:\, 其实感觉还是有问题
至于Listary那种在每个窗口上跳转目录是怎么实现的,大佬们有什么猜想吗?
这个搜了好久也没有搜到相关资料.
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|