Как уже упоминалось в заголовке, я хочу изменить значки папок с помощью скрипта.Есть два случая:
- Это не работает, когда я просто запускаю его нормально
- Это работает, но только после того, как я вручную изменил значок папки перед рукой, который яне хочу делать
Я пробовал разные скрипты, от .bat до powershell, все они давали одинаковые результаты, я вставлю текущий код, с которым я работаю, но какупомянуто выше, это не работает, как я хотел бы, чтобы это работало
param
(
[Parameter(Mandatory = $True,
Position = 0)]
[string]$FolderPath,
[Parameter(Mandatory = $True,
Position = 1)]
[string]$IconPath
)
$tmpDir = (Join-Path $env:TEMP ([IO.Path]::GetRandomFileName()))
mkdir $tmpDir -force >$null
$tmp = "$tmpDir\desktop.ini"
Add-Content $tmp '[.ShellClassInfo]'
Add-Content $tmp "IconResource=$IconPath,0"
Add-Content $tmp ""
(Get-Item -LiteralPath $tmp).Attributes = 'Archive, System, Hidden'
$shell = New-Object -com Shell.Application
$shell.NameSpace($FolderPath).MoveHere($tmp, 0x0004 + 0x0010 + 0x0400)
Remove-Item -LiteralPath $tmpDir -force
РЕДАКТИРОВАТЬ: @PetSerAl Спасибо за ваш комментарий, который решил проблему