Obțin același rezultat, ne puteți da o descriere mai detaliată a modului în care l-ați rezolvat, pentru noi începători. PowerShell în câmpul Program / script? unde este exact asta? și unde se află folderul scripturi PS etc. Mulțumiri
Minunat, asta e bine de știut. Mulțumesc mult, Dan. :)
Hei mate Am primit tapet negru. vreo soluție?
ts = New-TimeSpan -Hours -2 -Minutes -30 # Număr de ore și minute pentru a adăuga / scădea la dată. Ajustați acest lucru pentru a compensa data sistemului dvs. despre GMT (cred?)
$ now = ((Data obținerii -Secunda 00) + $ ts)
$ acum = $ acum. AddMinutes (- ($ acum.minute% 10))
$ lățime = 550
Nivelul $ = "4d" #Live poate fi 4d, 8d, 16d, 20d
$ numblocks = 4 #acest lucru corespunde direct cu nivelul, păstrați acest lucru exact ca și nivelul fără 'd'
$ time = $ acum. ToString ( "HHmmss")
$ an = $ acum. ToString ( "aaaa")
$ luna = $ acum. ToString ( "MM")
$ zi = $ acum. ToString ( "dd")
#Creare folderul My Pictures \ Himawari \ dacă nu există
$ outpath = [Mediu]:: GetFolderPath ("MyPictures") + "\ Himawari \"
if (! (Test-Path -Path $ outpath))
{
[void] (New-Item-Director ItemType -Path $ outpath)
}
#Numele de fișier care va fi salvat:
#Comentează acest lucru pentru ca fișierele să se acumuleze în director:
# $ outfile = "$ an $ luna lună $ zi" + "_" + $ timp + ".jpg"
#Utilizează asta pentru ca scriptul să stocheze doar cel mai recent fișier:
$ outfile = "latest.jpg"
$ url = " http://himawari8-dl.nict.go.jp/himawari8/img/D531106/$level/$width/$year/$month/$day/$time"
[Void] [reflection.assembly]:: LoadWithPartialName ( "System. Windows. Formulare ")
[Void] [reflection.assembly]:: LoadWithPartialName ( "System. Desen")
$ image = Sistem cu obiect nou. Desen. Bitmap (($ lățime * $ numblocks), ($ lățime * $ numblocks))
$ graphic = [Sistem. Desen. Grafica]:: FromImage ($ image)
$ grafică. Clear ([System. Desen. Culoarea neagra)
pentru ($ y = 0; $ y -lt $ numblocks; $ Y ++)
{
pentru ($ x = 0; $ x -lt $ numblocks; $ X ++)
{
$ thisurl = $ url + "_" + [String] $ x + "_" + [String] $ y + ".png"
„Descărcarea: $ thisurl”
încerca
{
$ request = [Sistem. Net. WebRequest]:: crea ($ thisurl)
$ răspuns = $ request.getResponse ()
$ HTTP_Status = [int] $ răspuns. statusCode
Dacă ($ HTTP_Status -eq 200)
{
$ imgblock = [Sistem. Desen. Imagine]:: FromStream ($ response.getResponseStream ())
$ grafică. DrawImage ($ imgblock, ($ x * $ lățime), ($ y * $ lățime), $ lățime, $ lățime)
$ Imgblock.dispose ()
$ Răspuns. Închide()
}
}
Captură
{
$ ErrorMessage = $ _. Excepție. Mesaj
$ FailedItem = $ _. Excepție. iTEMNAME
Ieșire de scriere "Nu a reușit! $ ErrorMessage cu $ FailedItem "
}
}
}
$ qualityEncoder = [Sistem. Desen. Imaging. Encoder]:: Calitate
$ encoderParams = Sistem cu obiect nou. Desen. Imaging. Parametri Encoder (1)
# Setați nivelul de calitate JPEG aici: 0 - 100 (limite limitate)
$ encoderParams. Param [0] = Sistem cu obiect nou. Desen. Imaging. EncoderParameter (calitate $ Encoder, 90)
$ jpegCodecInfo = [Sistem. Desen. Imaging. ImageCodecInfo]:: GetImageEncoders () | unde {$ _. MimeType -eq 'image / jpeg'}
$ image.save ((depășire $ + extragere $), $ jpegCodecInfo, $ encoderParame)
$ Image. Dispune()
Scriere-ieșire "Setare tapet ..."
Set-ItemProperty -path "HKCU: Panou de control \ Desktop" -numele de fundal -valor ($ outpath + $ outfile)
Set-ItemProperty -path "HKCU: Panou de control \ Desktop" -numere WallpaperStyle -valor 6
Set-ItemProperty -path "HKCU: Panou de control \ Desktop" -nume TileWallpaper -valor 0
Set-ItemProperty 'HKCU: \ Panou de control \ Culori' -nume de fundal -Valor "0 0 0"
# rundll32.exe user32.dll, UpdatePerUserSystemParameters
$ setwallpapersource = @ "
folosind System. Runtime. InteropServices;
tapet de clasă publică
{
public const int SetDesktopWallpaper = 20;
public const int UpdateIniFile = 0x01;
public const int SendWinIniChange = 0x02;
[DllImport ("user32.dll", SetLastError = true, CharSet = CharSet. Auto)]
private static extern int SystemParametersInfo (int uAction, int uParam, string lpvParam, int fuWinIni);
public static void SetWallpaper (șir de cale)
{
SystemParametersInfo (SetDesktopWallpaper, 0, calea, UpdateIniFile | SendWinIniChange);
}
}
"@
Add-Type -TypeDefinition $ setwallpapersource
[tapet]:: SetWallpaper ((expediție $ + extragere $))
Ieșire de scriere „Done”