אני מקבל את אותה התוצאה, האם אתה יכול לתת לנו תיאור מפורט יותר של האופן שבו תיקנת אותה, עבורנו טירונים. PowerShell בשדה התוכנית / סקריפט? היכן זה בדיוק? והיכן נמצאת תיקיית סקריפטים של PS וכו '. תודה
מדהים, זה טוב לדעת. תודה רבה, דן. :)
היי חבר אני מקבל טפטים שחורים. פיתרון כלשהו?
ts = New-TimeSpan-שעות -2-דקות -30 # מספר שעות ודקות להוספה / חיסור לתאריך. התאם זאת בכדי לקזז את תאריך המערכת שלך לערך GMT (נראה לי?)
$ now = ((קבל תאריך - השניה 00) + $ ts)
$ עכשיו = $ עכשיו. AddMinutes (- ($ now.minute% 10))
רוחב $ = 550
רמת $ = "4d" # רמת יכול להיות 4d, 8d, 16d, 20d
$ numblocks = 4 # זה כנראה מתאים ישירות לרמה, שמור על זה בדיוק כמו ברמה ללא 'd'
זמן זמן = $ עכשיו. ToString ("HHmmss")
$ $ = $ עכשיו. ToString ("yyyy")
חודש חודש = $ עכשיו. ToString ("MM")
$ יום = $ עכשיו. ToString ("dd")
# צור את התיקיה התמונות שלי \ Himawari \ אם הוא לא קיים
$ outpath = [סביבה]:: GetFolderPath ("MyPictures") + "\ Himawari \"
אם (! (מסלול מבחן - מסלול $ $))
{
[void] (פריט חדש-ספריית הטקסט-מסלול מסלול $ $)
}
# שם הקובץ שנשמר:
# כלול את זה כדי שהקבצים יצטברו בספרייה:
# $ outfile = "$ שנה $ חודש $ $ יום" + "_" + $ זמן + ".jpg"
# השתמש בזה כדי שהסקריפט יאחסן את הקובץ האחרון בלבד:
$ outfile = "last.jpg"
$ url = " http://himawari8-dl.nict.go.jp/himawari8/img/D531106/$level/$width/$year/$month/$day/$time"
[void] [reflect.ass Assembly]:: LoadWithPriorName ("מערכת. חלונות. טפסים ")
[void] [reflect.ass Assembly]:: LoadWithPriorName ("מערכת. ציור ")
$ image = מערכת אובייקטים חדשה. ציור. מפת סיביות (($ רוחב * $ numblocks), ($ רוחב * $ numblocks))
גרפיקה $ = [מערכת. ציור. גרפיקה]:: FromImage (תמונה $)
$ גרפיקה. נקה ([מערכת. ציור. צבע שחור)
עבור ($ y = 0; $ y -lt $ numblocks; $ y ++)
{
עבור ($ x = 0; חסימת $ x -lt $; $ x ++)
{
$ thisurl = $ url + "_" + [מחרוזת] $ x + "_" + [מחרוזת] $ y + ".png"
פלט כתיבה "הורדה: $ thisurl"
נסה
{
$ בקשה = [מערכת. נטו. WebRequest]:: create ($ thisurl)
תגובת $ = $ request.getResponse ()
$ HTTP_Status = [int] $ תגובה. מצב קוד
אם ($ HTTP_Status - שווה ערך 200)
{
$ imgblock = [מערכת. ציור. תמונה]:: fromStream ($ response.getResponseStream ())
$ גרפיקה. DrawImage ($ imgblock, ($ x * $ רוחב), ($ y * $ רוחב), $ רוחב, $ רוחב)
$ imgblock.dispose ()
תגובת $. סגור()
}
}
לתפוס
{
$ ErrorMessage = $ _. חריג. הודעה
$ FailedItem = $ _. חריג. שם הפריט
פלט הכתיבה "נכשל! $ ErrorMessage עם $ FailedItem "
}
}
}
$ qualityEncoder = [מערכת. ציור. הדמיה. מקודד]:: איכות
$ encoderParams = מערכת אובייקטים חדשה. ציור. הדמיה. פרמטרים מקודדים (1)
# הגדר כאן את רמת האיכות של JPEG: 0 - 100 (גבולות כולל)
encoderParams. Param [0] = מערכת אובייקטים חדשה. ציור. הדמיה. EncoderParameter ($ איכות Encoder, 90)
$ jpegCodecInfo = [מערכת. ציור. הדמיה. ImageCodecInfo]:: GetImageEncoders () | איפה {$ _. MimeType -eq 'image / jpeg'}
$ image.save (($ outpath + $ outfile), $ jpegCodecInfo, $ encoderParams)
תמונה של $. השלך ()
פלט כתיבה "הגדרת טפט ..."
Set-ItemProperty -path "HKCU: לוח בקרה \ שולחן עבודה" - שם טפט-ערך ($ outpath + $ outfile)
Set-ItemProperty -path "HKCU: לוח בקרה \ שולחן עבודה" - שם טפט סטייל-ערך 6
Set-ItemProperty -path "HKCU: לוח בקרה \ שולחן עבודה" -שם TileWallpaper-value 0
Set-ItemProperty 'HKCU: \ לוח בקרה \ צבע צבעים' רקע-ערך "0 0 0"
# rundll32.exe user32.dll, UpdatePerUserSystemParameters
$ setwallpapersource = @ "
באמצעות מערכת. זמן פעולה. שירותי InteropServices;
טפט בכיתה ציבורית
{
public const int SetDesktopWallpaper = 20;
public const int UpdateIniFile = 0x01;
public const int SendWinIniChange = 0x02;
[DllImport ("user32.dll", SetLastError = true, CharSet = CharSet. אוטומטי)]
סטטי פרטית חיצונית int SystemParametersInfo (int uAction, int uParam, מחרוזת lpvParam, int fuWinIni);
SetWallpaper, חלל סטטי ציבורי (נתיב מחרוזת)
{
פרמטר מערכות מידע (SetDesktopWallpaper, 0, path, UpdateIniFile | SendWinIniChange);
}
}
"@
Add-Type -TypeDefinition $ setwallpapersource
[טפט]:: SetWallpaper (($ outpath + $ outfile))
פלט כתיבה "בוצע"