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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Создание ярлыков через командную строку (http://forum.oszone.net/showthread.php?t=333951)

Svnkill 24-03-2018 23:35 2805280

Создание ярлыков через командную строку
 
В общем, как создать ярлыки файлов (Лежащий в одном каталоге с скриптом).
И можно ли сразу из скрипта задать данные "Объект" как свойствах ярлыков из проводника задают, к примеру чтобы добавить дополнительную команды.

P.s: Можно и другой язык vbs или AutoIt.

Казбек 25-03-2018 00:30 2805285

Цитата:

Цитата Svnkill
надо через CMD создать ярлыки всех файлов хранящихся в папки D:\App. »

В cmd в человеческом виде, без гибридов сделать это не получится. Но есть простое решение тоже с консолью: NirCmd Command Reference - shortcut.

Есть так же вариант с MKLink.

Svnkill 25-03-2018 00:35 2805286

Цитата:

Цитата Казбек
В cmd в человеческом виде, без гибридов сделать это не получится. »

VBS Можно?

Казбек 25-03-2018 21:47 2805443

Цитата:

Цитата Svnkill
VBS Можно? »

How to create a desktop shortcut with the Windows Script Host

Вариант на PowerShell:
Код:

$shortcutPath = "C:\Users\User\Documents\Apps"
$wshShell = New-Object -ComObject "WScript.Shell"
Get-ChildItem (Join-Path $shortcutPath "*.exe") | ForEach-Object {
  $lnkFilename = Join-Path $shortcutPath ("{0}.lnk" -f [IO.Path]::GetFilenameWithoutExtension($_.FullName))
  $shortcut = $wshShell.CreateShortcut($lnkFilename)
  $shortcut.TargetPath = $_.FullName
  $shortcut.Save()
}

"C:\Users\User\Documents\Apps" - путь к вашей папки
"*.exe" - маска с нужными типами файлов

Пример выполнения

megaloman 26-03-2018 15:25 2805580

vbs
Код:

inDir = "Z:\App"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("WScript.Shell")
DeskTopPath = oShell.SpecialFolders("AllUsersDesktop")

Set Folds = FSO.GetFolder(inDir)
Set Files = Folds.Files

For Each jf In Files
    Set oShortCut = oShell.CreateShortcut(DeskTopPath + "\" + jf.Name + ".lnk")
    oShortCut.TargetPath = jf.Path
    oShortCut.Save
Next

Использовал источник

Woodskil 24-12-2019 14:39 2901951

Линк на файл:
mklink "C:\Users\Control\Desktop\2.lnk" "C:\Users\Control\Desktop\1.exe"

Линк на папку:
mklink /D "C:\Users\Control\Desktop\folder11.lnk" "C:\Users\Control\Desktop\11"

Vadikan 24-12-2019 19:01 2901977

Woodskil, символическая ссылка - не то же самое, что ярлык. Ярлык - это файл с атрибутами ярлыка, а mklink делает ссылку в файловой системе. Даже создав ее с расширением lnk, в свойствах не будет то же самое, что при создании ярлыка.


Время: 19:35.

Время: 19:35.
© OSzone.net 2001-