Код:
![Выделить весь код](images/misc/selectcode.png)
@echo off
setlocal EnableExtensions
chcp 866 > nul
title Autorun Programs v1.2
set "sDir=%~dp0"
cd /d "%sDir%"
for /f "tokens=2 delims==" %%i in ('wmic OS get OSArchitecture /value ^| findstr 64-bit') do set OSArchitecture=%%i
if %OSArchitecture% == 64-bit (set ver=x64) else (set ver=x86)
:AUTORUN_LIST
:: echo Autorun list -------------------
:: call :GETPROC
:: в батнике может возникать ошибка Системе не удается найти указанный диск
:: возникает, если в цикле имеются две или более "закомментированных" строк подряд
:: Одна "закомментированная" в цикле строка такую ошибку не вызывает.
:: Отсюда вывод: если хотите использовать в циклах комментарии независимо от их количества и расположения, то пользуйтесь командой "REM" https://www.cyberforum.ru/cmd-bat/thread1471754.html
(
echo ^# Программы для запуска. решетка # - комментарии, пропускаются. ; - разделитель исп.файла и параметра
echo ^# можно добавлять параметр, один, к запуску программы типа %PROGRAMFILES%\FileViewers\Everything;Everything.exe;-startup
echo ^#
echo ^# -----------------------------------------------------------------
echo C:\DATA\Portable telegram 1\Telegram;Telegram.exe
echo %USERPROFILE%\AppData\Roaming\Telegram Desktop;Telegram.exe
echo %USERPROFILE%\AppData\Local\Programs\signal-desktop;Signal.exe
echo %USERPROFILE%\AppData\Local\Programs\todoist;Todoist.exe
) > "%sDir%progs.lst"
:: echo список пройден &pause
:MAIN
for /f "delims=; tokens=1,2* eol=#" %%a in (progs.lst) do (
tasklist | findstr /i "%%b" 1>nul
if ERRORLEVEL 1 ( echo ^ ^-----------^> Запускаю %%b
call start "" /d "%%a" "%%b" %%~c & timeout /t 5
)
)
exit