Я хочу изменить значок существующего ярлыка с помощью Powershell.
Я поигрался с ним, но не смог внести изменения, поэтому я вышел в интернет и оказался с пустыми руками. Я видел примеры с VB и Command Shell, но ничего с Powershell. Почти 99% продемонстрировали, как создать ярлык, но мне просто нужно знать, как изменить значок, и только значок.
Вот что я сделал до сих пор:
# Make a copy of the icon in the directory
PS> cd Program Files (x86)\Dir\Fol\
PS Program Files (x86)\Dir\Fol> cp 1234567890.ico 12345678901.ico
# Gets the IconFile property and changes it to the new icon
PS Program Files (x86)\Dir\Fol> cd Desktop\Folder\
PS Desktop\Folder>(Get-Content "file name")[6]
IconFile=C:\Program Files (x86)\Dir\Fol\1234567890.ico
PS Desktop\Folder>(Get-Content "file name")[6] -replace ".ico","1.ico"
Я пытался работать с WScript.Shell ComObject
, но это, похоже, только создает новые ярлыки.
Я чувствую, что то, что я собирался с этим, сработало бы, если бы был способ сохранить, обновить и применить новый путь IconFile
к объекту.
Я делаю это как действие по исправлению из-за того, что значки (или, может быть, что-то в символическом LNK?) «ломаются» и по умолчанию используются общие значки. Кажется, проблема только с ярлыками. Ярлык работает отлично, все нормально но по той или иной причине значки дефолтные. Если я войду и повторно применю то же имя значка через графический интерфейс, оно не изменится. Однако, если я каким-либо образом изменю имя файла .ico, а затем установлю его, это сработает. Не знаю, почему он это делает, но я хотел создать PS-скрипт, который делал бы это автоматически (и я искал предлог, чтобы заглушить скрипт)