![Board logo](images/default/logo.gif)
标题: [问题求助] 使用powershell获取某快捷方式文件的目标信息 [打印本页]
作者: 5i365 时间: 2021-12-1 08:33 标题: 使用powershell获取某快捷方式文件的目标信息
本帖最后由 5i365 于 2021-12-1 09:04 编辑
我的桌面上有几个快捷方式文件, 其中有一个是D盘下某个文件夹, 通过右键发送到桌面的快捷方式生成的快捷方式,在它上面 点右键---属性---快捷方式---目标 里面是快捷方式所在的文件夹路径, 路径里面包含 video 我想找到它,并回显该路径, 用下面的代码不生效, 请高手指点, 非常感谢- dir -path "C:\Users\Administrator\Desktop\*.lnk" -File |
- ForEach-Object {
- $_.Target -contains "video"
- }
复制代码
作者: 5i365 时间: 2021-12-1 09:19
找到一个C#的文章, 但是不太懂怎么用C#的代码
https://www.cnblogs.com/DoNetCShap/p/4221854.html
作者: 5i365 时间: 2021-12-1 10:55
问题差不多解决了, 但是返回的是 真或假- dir -path "C:\Users\Administrator\Desktop\*.lnk" -File |
- ForEach-Object {
- #$_.FullName
- ((New-Object -ComObject WScript.shell).CreateShortcut($_.FullName)).TargetPath -contains "video"
- }
复制代码
作者: 5i365 时间: 2021-12-1 11:38
筛选出来了, 但是有多行空行:- dir -path "C:\Users\Administrator\Desktop\*.lnk" -File |
- ForEach-Object {
- ((New-Object -ComObject WScript.shell).CreateShortcut($_.FullName)).TargetPath | Select-String -Pattern 'video'
- }
复制代码
作者: for_flr 时间: 2021-12-1 12:24
- $shell=new-object -comobject wscript.shell
- $word="video"
- get-childitem *.lnk|%{if($shell.createshortcut($_.fullname).targetpath -match $word){$_.name}}
复制代码
作者: for_flr 时间: 2021-12-1 12:33
- dir *.lnk|?{(new-object -comobject wscript.shell).createshortcut($_.fullname).targetpath -match "video"}
复制代码
作者: 5i365 时间: 2021-12-1 13:38
回复 6# for_flr
感谢帮忙, 结果显示的是快捷方式的名字, 我需要回显快捷方式的目标
作者: for_flr 时间: 2021-12-1 14:43
回复 7# 5i365 - $shell=new-object -comobject wscript.shell
- $word="video"
- get-childitem *.lnk|%{
- $dp=$shell.createshortcut($_.fullname).targetpath
- if($dp -match $word){$_.name+"指向目标:"+$dp}}
复制代码
#中途用个变量将targetpath存起来,再用if筛选一下不行吗
作者: 5i365 时间: 2021-12-1 17:05
回复 8# for_flr
这样就行了, 能取到值, 但最后一行, 感觉是不是可以精简些- $shell=new-object -comobject wscript.shell
- $word="video"
- get-childitem *.lnk|foreach{
- $dp=$shell.createshortcut($_.fullname).targetpath
- if($dp -match $word){$dp}}
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |