Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Помогите бат скриптом прикрутить цель к ярлыку на открытия папки "AppData" (http://forum.oszone.net/showthread.php?t=320974)

turbolover 20-11-2016 14:40 2689078

Помогите бат скриптом прикрутить цель к ярлыку на открытия папки "AppData"
 
Создал (.бат) скриптом ярлык на рабпочем столе для открытия папки "AppData".
Код:

@Echo off
@echo Start file>%Systemdrive%\Users\%Username%\Desktop\AppData.lnk
Exit


Elven 20-11-2016 16:15 2689100

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

Iska 20-11-2016 16:31 2689109

Цитата:

Цитата turbolover
Создал (.бат) скриптом ярлык на рабпочем столе для открытия папки "AppData". »

Чего-чего-чего?! Это не ярлык, и никакую папку он не откроет.

Цитата:

Цитата turbolover
к ярлыку на открытия папки "AppData" »

WSH:
Скрытый текст
Код:

Option Explicit

Const WindowsFolder = 0

Dim objFSO
Dim objWshShell


Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objWshShell = WScript.CreateObject("WScript.Shell")

With objWshShell.CreateShortcut(objFSO.BuildPath(objWshShell.SpecialFolders("Desktop"), "AppData.lnk"))
        .TargetPath = """" & objFSO.BuildPath(objFSO.GetSpecialFolder(WindowsFolder), "explorer.exe") & """"
        .Arguments = "/n,""" & objFSO.GetAbsolutePathName(objFSO.BuildPath(objWshShell.SpecialFolders("AppData"), "..")) & """"
        .Save
End With

Set objWshShell = Nothing
Set objFSO      = Nothing

WScript.Quit 0


turbolover 20-11-2016 17:28 2689135

...

Iska 21-11-2016 01:58 2689262

Цитата:

Цитата turbolover
...
Последний раз редактировалось turbolover, Вчера в 20:47. »

?

greg zakharov 21-11-2016 13:02 2689358

Какой смысл вообще заморачиваться с ярлыком, когда AppData по сути не что иное как шелл-папка, которую можно открыть либо по GUID'у, либо по значению реестра, например:
Код:

@echo off
  setlocal&chcp 1251>nul
    set "key=HKCU\Software\Microsoft\Windows\Current"
    set "key=%key%Version\Explorer\Shell Folders"
    for /f "tokens=2,*" %%i in (
      'reg query "%key%" /v AppData'
    ) do set "app=%%j"
    explorer %app%
  endlocal&chcp 866>nul
exit /b


Iska 21-11-2016 13:26 2689361

Цитата:

Цитата greg zakharov
Какой смысл вообще заморачиваться с ярлыком »

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

greg zakharov 21-11-2016 13:44 2689369

Iska, что важнее: безопасность или удобство?

Iska 21-11-2016 14:57 2689383

greg zakharov, поясните.

greg zakharov 21-11-2016 15:14 2689385

Iska, поясняю. Есть достаточно забавн[ый|ая] [баг|фича], на которую никто в MS не обращает внимание, позволяющая манипулировать LNK'ашами на Рабочем столе на свое усмотрение, при этом атрибут "Только для чтения" погоды особой не делает. Правила форума вроде как запрещают демо малвари, так что это уже более вне форумный вопрос (РоС в наличии уже имеется).

Iska 21-11-2016 15:18 2689386

greg zakharov, это называется «горе от ума», а не «безопасность или удобство».


Время: 20:46.

Время: 20:46.
© OSzone.net 2001-