【发布时间】:2016-01-10 09:50:06
【问题描述】:
我有一个问题,我需要你的帮助。我正在尝试从活动 URL 做一个快捷方式。我尝试了一些方法并做到了这一点。
Param([switch]$Full, [switch]$Location, [switch]$Content)
$urls = (New-Object -ComObject Shell.Application).Windows() |
Where-Object {$_.LocationUrl -match "(^https?://.+)|(^ftp://)"} |
Where-Object {$_.LocationUrl}
if($Full)
{
$urls
}
elseif($Location)
{
$urls | select Location*
}
elseif($Content)
{
$urls | ForEach-Object {
$ie.LocationName;
$ie.LocationUrl;
$_.Document.body.innerText
}
}
else
{
$urls | ForEach-Object {$_.LocationUrl}
}
$Shortcut = $WshShell.CreateShortcut("E:\Powershell\Ziel\short.lnk")
$Shortcut.TargetPath = "$urls"
$Shortcut.Save()
但是我得到了一个没有意义的捷径。我做错了什么?我很高兴有任何建议。
我现在尝试这样做:
Param([switch]$Full, [switch]$Location, [switch]$Content)
$urls = (New-Object -ComObject Shell.Application).Windows() |
Where-Object {$_.LocationUrl -match "(^https?://.+)|(^ftp://)"} |
Where-Object {$_.LocationUrl}
if($Full)
{
$urls
}
elseif($Location)
{
$urls | select Location*
}
elseif($Content)
{
$urls | ForEach-Object {
$ie.LocationName;
$ie.LocationUrl;
$_.Document.body.innerText
}
}
else
{
$urls | ForEach-Object {$_.LocationUrl}
}
$url = $urls | ForEach-Object {$_.LocationUrl} | select -First 1
$Shortcut = $WshShell.CreateShortcut("E:\Powershell\Ziel\short.lnk")
$Shortcut.TargetPath = $url
$Shortcut.Save()
但它告诉我“$Shortcut = $WshShell.CreateShortcut("E:\Powershell\Ziel\short.lnk")” 的值为 NULL。我的意思是,这怎么可能。我不明白。请帮忙。
【问题讨论】:
标签: powershell