必应搜索有个无关搜索的亮点,就是每日的图片故事。另外在windows 8以后微软有个软件“必应桌面”作为可选的windows update可能会被安装,除了自动更新桌面背景图片外,其新闻,图片,视频推送,实在有点鸡肋。
那如果我们能通过PowerShell 自动获取必应首页的背景图片,并且把它设置为桌面墙纸,就可以完全卸载‘必应桌面’了。
废话不多说,直接贴脚本了。
######################################################################### # 描述: PowerShell获取必应背景图片,并设置为桌面墙纸 # 作者: 荔非苔 # 博客链接: https://www.pstips.net/set-wallpaper-by-bing-image.html # PowerShell版本: 4.0 ######################################################################### function Save-BingTodayImage() { #必应图片故事API $bingImageApi ='http://www.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=1&mkt=zh-cn' $bingUri = 'http://www.bing.com/' # 获取图片链接 [xml]$bingImageXml = (Invoke-WebRequest -Uri $bingImageApi).Content Write-Host " 今日图片故事: $( $bingImageXml.images.image.copyright ) " $imgLink = '{0}{1}' -f $bingUri , $bingImageXml.images.image.url # 下载和保存图片 $imageDir = "$HOME\Pictures\Bing\" if( -not (Test-Path $imageDir) ) { mkdir $imageDir | Out-Null } $imageFile = Join-Path $imageDir ( '{0}.jpg' -f $bingImageXml.images.image.fullstartdate) Invoke-WebRequest -Uri $imgLink -OutFile $imageFile return $imageFile } Function Set-DesktopWallPaper($imagePath) { Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $imagePath RUNDLL32.EXE USER32.DLL UpdatePerUserSystemParameters ,1 ,True } # 获取今日必应背景图片 $image=Save-BingTodayImage #设置为桌面墙纸 Set-DesktopWallPaper -imagePath $image
有的哥们要问了,人家必应桌面会定期更新,你这脚本不能自动化更新啊。授人以鱼,不如授人以渔,您再读完这篇文章就懂了。
本文链接: https://www.pstips.net/set-wallpaper-by-bing-image.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
如何提取bing首页除了今天过去4天的bing美图?
http://www.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=10&mkt=zh-cn 主要是n的参数
format=xml取到的好像都不是高分辨率图片,json格式可以拿到高分辨率图片。在作者的基础上稍微改了一下。
#########################################################################
# 描述: PowerShell获取必应背景图片,并设置为桌面墙纸
# 作者: 荔非苔
# 博客链接: http://www.pstips.net/set-wallpaper-by-bing-image.html
# PowerShell版本: 4.0
#########################################################################
function Save-BingTodayImage($num)
{
#必应图片故事API
#$bingImageApi =’http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-cn’
$bingImageApi =’http://www.bing.com/HPImageArchive.aspx?format=js&idx=’ + $num + ‘&n=1&mkt=zh-cn’
$bingUri = ‘http://www.bing.com/’
# 获取图片链接
$bingImageJsonOrg = (Invoke-WebRequest -Uri $bingImageApi).Content | ConvertFrom-Json
$bingImageJson = $bingImageJsonOrg.images[0]
Write-Host “$num ”
Write-Host “$( $bingImageJson.copyright ) ”
$imgLink = ‘{0}{1}’ -f $bingUri , $bingImageJson.url
# 下载和保存图片
$imageDir = “$HOME\Pictures\Bing\”
if( -not (Test-Path $imageDir) )
{
mkdir $imageDir | Out-Null
}
$imageFile = Join-Path $imageDir ( $bingImageJson.enddate + ‘, {0}.jpg’ -f ($bingImageJson.copyright -replace(“[\\/?]{1,}”,”-“)))
Invoke-WebRequest -Uri $imgLink -OutFile $imageFile
return $imageFile
}
Function Set-DesktopWallPaper($imagePath)
{
Set-ItemProperty -path ‘HKCU:\Control Panel\Desktop\’ -name wallpaper -value $imagePath
RUNDLL32.EXE USER32.DLL UpdatePerUserSystemParameters ,1 ,True
}
# 获取今日必应背景图片
$image=Save-BingTodayImage($args)
#设置为桌面墙纸
#Set-DesktopWallPaper -imagePath $image