すべてのクライアントにWin10を展開するため、Windows 10のデフォルトの壁紙を変更するスクリプトを機能させようとしています。以下のバッチコードを実行しても、デフォルトの壁紙は変更されません。 img0ファイルは正しいディレクトリC:\ Windows\Web\Wallpaper\Windowsにありますが、背景は変更されていません。以下のコードは私が使用しているものです。 C:\ Windows\Web\4K\Wallpaper\Windows\img0_1366x768.jpgアクセスを拒否しようとすると、アクセス拒否エラーが発生します。
takeown /f c:\windows\WEB\wallpaper\Windows\img0.jpg
takeown /f C:\Windows\Web\4K\Wallpaper\Windows\*.*
icacls c:\windows\WEB\wallpaper\Windows\img0.jpg /Grant System:(F)
icacls C:\Windows\Web\4K\Wallpaper\Windows\*.* /Grant System:(F)
del c:\windows\WEB\wallpaper\Windows\img0.jpg
del /q C:\Windows\Web\4K\Wallpaper\Windows\*.*
copy %~dp0img0.jpg c:\windows\WEB\wallpaper\Windows\img0.jpg
copy %~dp04k\*.* C:\Windows\Web\4K\Wallpaper\Windows
私が間違っていることはありますか? TIA
Powershellを使用して壁紙を変更します。まず、次のような関数を作成します。
Function Set-WallPaper($Value) { Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $value rundll32.exe user32.dll, UpdatePerUserSystemParameters }
次に、関数を呼び出します。
Set-WallPaper -value "path to wallpaper"
私はこれがすでに回答されていることを知っていますが、誰かがバッチファイルでこれを実行したい場合、icacls行は/ grantではなく/ resetを使用する必要があります...
takeown /f c:\windows\WEB\wallpaper\Windows\img0.jpg
icacls c:\windows\WEB\wallpaper\Windows\img0.jpg /reset
copy %~dp0img0.jpg c:\windows\WEB\wallpaper\Windows\img0.jpg
copy %~dp04k\*.* C:\Windows\Web\4K\Wallpaper\Windows
動作するはずです(管理者アカウントで実行されている限り)。
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys("^ ")
WshShell.SendKeys("+{F10}")
WshShell.SendKeys("N")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{DOWN}")
WshShell.SendKeys("{ENTER}")