Войти

Показать полную графическую версию : [решено] Как изменить свойства ярлыка?


Valek271183
22-11-2013, 23:06
Можно ли с помощью CMD/BAT изменить свойства ярлыка проводник в панели задач, т.е. там написано %windir%\explorer.exe а мне хочется дописать туда C:\Users\%username%\Downloads, как можно это сделать?

G.V.E.
27-11-2013, 14:14
Есть программа под названием shortcut.exe. (https://www.google.ru/search?q=shortcut.exe)
В сети можно найти несколько версий.
Связано это с тем что доминирующий shortcut в сети относится к Windows 95/98, а к старшим версиям найти посложнее, но тоже можно.

Valek271183
27-11-2013, 14:27
G.V.E., Спасибо, поищу
т.е. получается командной строкой это не сделать, а может VBS можно?

Iska
27-11-2013, 17:19
а может VBS можно? »
Можно.

Укажите путь к ярлыку:
свойства ярлыка проводник в панели задач »
в файловой системе (у меня не Windows 7).

Но не проще ли Вам будет создать новый ярлык, открывающий потребную папку?

Valek271183
27-11-2013, 17:21
"C:\Users\5\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows Explorer.lnk"

Ещё хочется научиться как это делать

Instant_SR
27-11-2013, 18:22
Я сам недавно искал способ создания ярлыка через .*bat но в конце концов поиски увенчались реализацией:
.bat открывает .vbs - .vbs создает ярлык:
.bat

cscript.exe //nologo "\\path\script.vbs"

.vbs

Option Explicit
With WScript.CreateObject("WScript.Shell").CreateShortcut(WScript.CreateObject("Shell.Application").NameSpace("shell:desktop").self.Path & "\shortcut.lnk")
.TargetPath = "C:\path\programm.exe"
.Save
End With
WScript.Quit 0


Если интересует только изменение, то скрипт при создании ярлыка перезаписывает предыдущий с таким же названием. Т.е. все изменения в .vbs делаются

Valek271183
27-11-2013, 20:20
это с созданием на рабочем столе а как быть с моим путем к ярлыку?

Iska
27-11-2013, 22:06
Примерно так, если Вы изложили всё верно:
Option Explicit

Dim objShell
Dim objFolder

Dim objFSO
Dim objWshShell

Dim strPath


Set objShell = WScript.CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace("shell:User Pinned")

If Not objFolder Is Nothing Then
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

strPath = objFSO.BuildPath(objFolder.self.Path, "TaskBar\Windows Explorer.lnk")

If objFSO.FileExists(strPath) Then
Set objWshShell = WScript.CreateObject("WScript.Shell")

With objWshShell.CreateShortcut(strPath)
If .TargetPath = objFSO.BuildPath(objWshShell.ExpandEnvironmentStrings("%windir%"), "explorer.exe") Then
.Arguments = """%UserProfile%\Downloads"""
.Save
Else
WScript.Echo "Shortcut's target path is not [%windir%\explorer.exe]."
End If
End With

Set objWshShell = Nothing
Else
WScript.Echo "Can't find shortcut [" & strPath & "]."
End If

Set objFolder = Nothing
Else
WScript.Echo "Can't connect to folder [shell:User Pinned]."
End If

Set objShell = Nothing

WScript.Quit 0

Только для Windows 7 (и, наверняка, выше). Но я бы предложил создавать новый ярлык, указывающий на заданную папку, а не править существующий.

G.V.E.
28-11-2013, 11:49
да, неет.
Как раз сделать.
Это утилита командной строки, специально сделанная микрософтом для того, чтобы можно было делать и CMD'шников ярлыки.




© OSzone.net 2001-2012