Редактирование свойств ярлыка (.lnk) с помощью Powershell

Добавление к ответу @ ideaman42:

def saveAsPNG(array, filename):
    import struct
    if any([len(row) != len(array[0]) for row in array]):
        raise ValueError, "Array should have elements of equal size"

                                #First row becomes top row of image.
    flat = []; map(flat.extend, reversed(array))
                                 #Big-endian, unsigned 32-byte integer.
    buf = b''.join([struct.pack('>I', ((0xffFFff & i32)<<8)|(i32>>24) )
                    for i32 in flat])   #Rotate from ARGB to RGBA.

    data = write_png(buf, len(array[0]), len(array))
    f = open(filename, 'wb')
    f.write(data)
    f.close()

Итак, вы можете сделать:

saveAsPNG([[0xffFF0000, 0xffFFFF00],
           [0xff00aa77, 0xff333333]], 'test_grid.png')

Произведение test_grid.png:

Grid of red, yellow, dark-aqua, grey [/g0]

(Прозрачность также работает, уменьшая старший байт с 0xff.)

23
задан Doug Chase 27 January 2009 в 21:28
поделиться

2 ответа

Copy-Item $sourcepath $destination  ## Get the lnk we want to use as a template
$shell = New-Object -COM WScript.Shell
$shortcut = $shell.CreateShortcut($destination)  ## Open the lnk
$shortcut.TargetPath = "C:\path\to\new\exe.exe"  ## Make changes
$shortcut.Description = "Our new link"  ## This is the "Comment" field
$shortcut.Save()  ## Save

Найденный версией VB кода здесь: http://www.tutorialized.com/view/tutorial/Extract-the-target-file-from-a-shortcut-file-.lnk/18349

31
ответ дан JasonMArcher 28 January 2009 в 07:28
поделиться

Я не думаю, что существует собственный путь.

существует этот DOS util: Shortcut.exe .

все еще необходимо скопировать util в удаленную систему, затем возможно назвать его с помощью WMI для внесения изменений, которые Вы ищете.

я думаю, что более легкий путь будет состоять в том, чтобы перезаписать и/или создать новый файл.

у Вас есть доступ к этим системам через удаленную долю?

3
ответ дан Marco Shaw 28 January 2009 в 07:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: