-1

1. Описание

В Google я могу найти только решения, где мне нужно много шагов для добавления моей программы в папку автозагрузки Windows 10. Есть ли быстрые способы? Пример:


2. Ожидаемое поведение

Например, у меня есть приложение SashaGoddess.exe :

  1. Щелкните правой кнопкой мыши файл SashaGoddess.exe в проводнике Windows или на рабочем столе.
  2. Выберите Send to startup ,
  3. Ярлык для SashaGoddess.exe будет создан и отправлен в shell:startup - C:\Users\SashaChernykh\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup for me.

3. Вопросы

  • Как реализовать ожидаемое поведение?

или же

  • Другие быстрые решения? Встроенные или бесплатные сторонние приложения.

4. Не предлагать

  1. Пожалуйста, не предлагайте решения из этой статьи How-To Geek или аналогичной.
  2. Пожалуйста, не предлагайте решения с множеством шагов для добавления программ при запуске.

2 ответа2

1

План

  1. Напишите скрипт для создания ярлыка (.lnk) в shell:Startup Папка запуска, используя предоставленный параметр в качестве цели ярлыка;
  2. Поместите этот скрипт (или его ярлык) в оболочку: папка shell:SendTo ;

использование

Для примера приложения SashaGoddess.exe в два клика мышью:

  • Щелкните правой кнопкой мыши SashaGoddess.exe в проводнике Windows или на рабочем столе,
  • перейдите к подменю « Send to… (которое должно автоматически развернуться),
  • Нажмите на свой сценарий ...

намек

К сведению, shell:Startup имя папки запуска, эквивалентное в собственных скриптах Windows,

  • "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup" в cmd ,
  • WScript.CreateObject("WScript.Shell").SpecialFolders("Startup") в VBScript,
  • [Environment]::GetFolderPath('Startup') в Powershell.

Пример скрипта .bat (базовая функциональность):

@ECHO OFF
SETLOCAL EnableExtensions DisableDelayedExpansion

if "%~1"=="" goto :eof
if not exist "%~1"  goto :eof

set "_auxiliaryScript=%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
set "_lnkFile=%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\%~n1.lnk"

> "%_auxiliaryScript%" (
  echo Set oLnk = WScript.CreateObject^("WScript.Shell"^).CreateShortcut^("%_lnkFile%"^)
  echo oLnk.TargetPath = "%~1"
  echo oLnk.Save
)
cscript //nologo "%_auxiliaryScript%"
del "%_auxiliaryScript%"
0

Если вам нужно скопировать программу / ярлык в папку автозагрузки конкретного пользователя, цель будет следующей:

%SystemDrive%\Users\(User-Name)\AppData\Roaming\Microsoft\​Windows\Start Menu\Programs\Startup

Чтобы быстро получить доступ к папке автозагрузки вашего другого пользователя, это может показаться немного исправительным, но я обычно сохраняю тот же путь, сохраненный в текстовом файле, и вставляю его в проводник, когда мне это нужно. В результате, если я хочу скопировать ярлык для нескольких конкретных пользователей, я могу просто изменить поле «Пользователь» в адресной строке «Проводник» и быстро перейти в папку «Автозагрузка» другого человека.

С другой стороны, если вам нужно поместить эту же программу / ярлык в папку «Автозагрузка» для всех пользователей на этом компьютере, подходящее расположение будет следующим:

%SystemDrive%\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

Для будущего использования, если вам нужен быстрый доступ к папке «Автозагрузка», которая применяется ко всем пользователям, вы можете использовать этот же путь, чтобы создать ярлык для этой папки и сделать его легкодоступным на рабочем столе, в панели быстрого доступа в проводнике и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .