Batch / CMD: добавление файлов в список автозагрузки - PullRequest
6 голосов
/ 20 июля 2009

Как пакетный файл может отображаться в списке автозагрузки Windows ???

Не имеет значения, идет он из реестра или нет.

ЕСЛИ с реестром, пожалуйста, дайте также команду УДАЛИТЬ запись в реестре.

Это должно работать во всех версиях от ME до 7, пожалуйста.

В противном случае просто XP / Vista / 7.

Спасибо.

Ответы [ 3 ]

10 голосов
/ 20 июля 2009

Не уверен, что я вас понимаю, но если вам нужен простой способ выполнить команду / пакет при запуске, почему бы просто не поместить его в папку All Users\Startup? Чтобы сделать это программно, нужно просто скопировать файл в этот каталог.
Например, в Windows Vista полный путь к этому каталогу:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

(вы можете использовать заменить начало строки на %ProgramData% или %AllUsers%\ProgramData, чтобы сделать его более глобальным - например, когда Windows установлена ​​на D :)

3 голосов
/ 28 августа 2009

Я не использую windows7 (возможно, скоро получит проверку на бета-версии), но я думаю, что правильное место всегда будет лучше брать из реестра, поскольку локализованы версии Windows. Моя собственная версия C: \ ProgramData \ Microsoft \ Windows \ Меню Пуск \ Программы \ Автозагрузка здесь больше похожа на "C: \ Documents and Settings \ Все пользователи \ Меню Démarrer \ Programs \ Démarrage" (из XP, конечно)
-10 для программистов, использующих жестко закодированные имена каталогов (да, некоторые установщики будут создавать каталоги на английском / другом языке при установке).
-1 для локализации имен каталогов Microsoft ...
В любом случае вот фрагмент для этого, действительный для XP по крайней мере:

commonstartup.cmd

@echo off
for /F "tokens=3 delims=    " %%k in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"^| findstr /i /c:"Common Startup"') do set StartUp=%%k
echo StartUp="%StartUp%"

___ Примечания _____
1: Поскольку reg.exe из Windows2000 и XP имеют разные командные аргументы, возможно, W7 тоже изменился, поэтому протестируйте его перед установкой и забудьте .
2: Чтобы получить список всех системных каталогов, введите команду: reg query "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell Folders" и прочитайте строки , Возможно, вы захотите заменить «Общий запуск» на что-то другое, если с W7 все по-другому.
3: В HKEY_CURRENT_USER есть также личный / пользовательский список, если вы хотите, чтобы его могли использовать только некоторые пользователи.

0 голосов
/ 02 июля 2016

xcopy C: \ Users \ NAME \ Desktop \ Batch.bat C: \ ProgramData \ Microsoft \ Windows \ "Меню Пуск" \ Программы \ Автозагрузка / O / X / E / H / K это правильная команда для windows 10. просто измените второй путь к своей версии и запомните, когда есть пробел, ставьте «перед словом перед пробелом и после слова после него. однако, он ДОЛЖЕН быть открыт в администраторе, поэтому после некоторого исследования я обнаружил, что пакетный файл можно использовать для запуска другого пакетного файла и запуска его в административном режиме: runas / пользователь: администратор C: \ data \ mybatchfile.bat это должно работать!

...