Bing's Wallpaper of the Day as your Windows desktop background
Bing Wallpaper is a free program for Microsoft Windows devices that sets Bing's wallpaper of the day automatically as the desktop background.
Microsoft displays a different high resolution photo each day on the Bing homepage (sometimes moving images are displayed instead). Users who visit Bing on the day may download the image for free to their devices. Use is restricted for use as a desktop wallpaper.
Bing users may even go back in time to look at and download photos published on other days on the Bing homepage. Simply hover the mouse cursor over the "info" link in the lower right corner of the Bing homepage, and select the "download today's image" option when the overlay opens up.
While you can go ahead and download the photos to set them as the desktop wallpaper manually, you may prefer an automated solution to make things easier for you.
Bing Wallpaper
Bing Wallpaper is a free program for Windows that does exactly that. It is available as a Python script that you need to run in a Python environment, or as an executable that you just need to run.
Note: You need to run the executable file each time you want it to download the latest photo posted on Bing, and set it as the desktop wallpaper on Windows. It is suggested to add the program either as a startup item, or create a task that runs once a day to automate the process further.
The program itself is automated. All you need to do is run it, and make sure that it is allowed to connect to the Internet.
Bing Wallpaper queries Bing to discover the most recent wallpaper image, and downloads it to the local system if the query is successful, and if the wallpaper does not exist yet on the device. The image is set as the desktop background automatically.
The program saves the wallpapers in the Bing_Pic_of_the_day folder of the user directory. Visit the directory to set past photos again as the system wallpaper.
To create a task that runs once a day, do the following:
- Tap on the Windows-key to open the start menu.
- Type Task Scheduler, and select the result.
- Right-click on Task Scheduler Library, and select Create Task.
- General: Add a name, and if you want a description.
- Triggers: Select new, and on the next window "daily" under settings. Click ok to close the new window.
- Actions: Select new, then on the next screen browser. Select bing_wallpaper.exe using the file browser. Click ok to close the window.
- Click ok on the main window to create the task.
The task will run once a day from that moment on. You can delete it with a right-click on the task, and the selection of delete from the context menu that opens.
Now You: Do you change wallpaper images frequently?
I would prefer not to run an unnecessary executable from Microsoft, as I no longer consider them trustworthy or honest.
Is it easy to create your own executable from the python script?
I use a combination of VBS and a batch file. (i couldn’t figure out how to do it in a single script, not a VBS/batch expert here)
.bat file (called by the VBS)
————————————————————-
:: Go to storage folder
cd C:\Users\USERNAME\Pictures\Daily Wallpaper
:: Copy all files from bing wallpapers to pictures
xcopy C:\Users\USERNAME\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets /e /y
:: Rename all files without extensions to .jpg
ren *. *.jpg
:: Delete all files less than 100k
for %%j in (*) do if %%~zj lss 100000 del “%%~j”
:: Delete all files with no extension
Del /q *.
:: TODO Delete files that are narrow or small
.vbs file called by a scheduled task in windows that runs once in the morning
————————————————————-
Set oShell = CreateObject(“Wscript.Shell”)
oShell.Run “C:\Users\USERNAME\Documents\bing_wallpapers.bat”, 1, true
Set oShell = Nothing
Dim re
Set oDir = CreateObject( “Shell.Application” ).Namespace( “C:\Users\USERNAME\Pictures\Daily Wallpaper” )
For Each oFile in oDir.Items
arrDim = Split( oDir.GetDetailsOf( oFile, 31 ), ” x “)
Set reNumbers = New RegExp
reNumbers.Global = True
reNumbers.Pattern = “\D”
valA = CInt( reNumbers.Replace( arrDim(0), “” ) ) ‘all non-digits removed
valB = CInt( reNumbers.Replace( arrDim(1), “” ) ) ‘all non-digits removed
'Delete images that portrait and not landscape
If valA < valB Then
'Wscript.echo oFile & " width:'" & valA & "' height:'" & valB & "'"
oFile.InvokeVerb( "delete" )
End If
'Delete images that are too small
If valA < 1000 Then
'Wscript.echo oFile & " width:'" & valA & "' height:'" & valB & "'"
oFile.InvokeVerb( "delete" )
End If
Next
Then I just set my wallpaper to load images from the "Daily Wallpaper" folder. I'm at about 232 wallpapers now…
Is this for windows10 spotlight or the bing image of the day?
they are completely different.
Pretty much the application in this article is fetching images from the gallery
https://www.bing.com/gallery/
Otherwise, I have a powershell file to download my local one each day
For Windows 10, Dynamic Theme can automatically set both the wallpaper and the lock screen to the Bing daily image.
https://www.microsoft.com/en-us/store/p/dynamic-theme/9nblggh1zbkw
I use Daily Bing Wallpaper.
https://www.microsoft.com/en-us/store/p/daily-bing-wallpaper/9nblggh4tjv1
Awesome! Thank! This solved my problem. :D
If you are willing to run it through python (2.7), instead of an exe, I’ve forked it here which doesn’t have a wait or require interaction at the end. https://github.com/navmed/bing-wallpaper/blob/master/bing_wallpaper.py
I’m using this one :
https://bitbucket.org/gary_hughes/bing-wallpaper-changer
Must also be add as a startup item.
Wallpaper is not saved with the name but with the date.
On Windows or Mac you can use the freeware John’s Background Switcher (https://johnsad.ventures/software/backgroundswitcher/). It is able to use Bing’s wallpaper. And (much) more.
I don’t personally care for Bing (or Microsoft in general) backgrounds. To me they are generally supersaturated, have too few colors, and can be hard to see desktop icons easily. But an additional positive opinion: I love John’s Background Switcher ( JBS ) for its function and options. I generally use it in pause mode, as I want in real time to decide when the background will change.
creating a task, it runs in background or it show the window of download?
I use a *.cmd file at startup to connect through my PPPOE connection using rasdial.
Right now the batch file is:
rasdial command
wait 5
start E:\bing_wallpaper.exe
But the bing_wallpaper command prompt remains open after the wallpeper is changed waiting for me to press any key. I tried the taskkill command after a wait 10 command, but it kils the bing_wallpaper.exe process immediately, it’s not waiting the 10 seconds. How can I fix this without using Task Scheduler for the bing_wallpaper.exe?
add on the first line of the script:
@echo off
the prompt will be hidden
Thank you, but the initial .bat was already closing by itself. The thing is bing_wallpaper.exe is opening another CMD window that need I need to press any key to close it. (the one you can see in the article)
What I was trying to do was the initial .bat with rasdial + wait + start bing_wallpaper.exe to wait another 10 seconds, enough time for the picture to download and set itself as wallpaper, and then run the kill command for the bing_wallpaper.exe window.
I really have no idea what I’m doing. Sorry.