Как сделать запуск программы через bat

Добрый день. Есть компьютеры в сети (comp1, comp2. compN). На comp1 расшарена папка, в которой есть load.bat и myprog.exe.
Стоит задача, пользователям этих компьютеров запускать с параметром myproj.exe -X. Это собственно делает load.bat:

start «Запуск MyProg» «%~dp0MyProg.exe» -X

Все вроде бы замечательно — прога стартует, но как выяснилось, если запускать прогу через load.bat ее поведение не тоже самое как если бы ее запускать через командную строку MyProg.exe -X в каталоге расшаренной папки.
В чем именно отличается поведение, а вот в чем — дело в том что MyProg.exe использует в своей работе СУБД Firebird, который запущен как сервис на comp1.
Так вот если запускать через load.bat, то не удается подключиться даже к security2.fdb (база, идущая с поставкой firebird), если напрямую ч/з командную строку, то все ок.

Что нужно написать в load.bat, чтобы запуск myprog.exe был аналогичен запуску в командной строке?

Источник: www.programmersforum.ru

Создание bat файла для запуска нескольких программ.

7-zip архивация через BAT-файл, в один клик

Задача: создать BAT-файл, который будет сжимать всё содержимое папки project на диске C:/ максимальным уровнем сжатия и помещать созданный архив в папку backup на том же диске.

Создаем BAT-файл

  • На диске C:/, создаем папку project. В эту папку поместите какие нибуть файлы, например, фото
  • В любом путом месте (например, рабочий стол) нажимаете правой кнопкой мыши и выбираем Создать->Текстовый документ.
  • Меняем расширение файла с .txt на .bat Если у вас не отображается расширение, на Windows 10 зайдите в «Этот компьютер», перейдите во вкладку Вид и поставте галочку «Расширения имен и файлов» Окно разрешения изменения расширений файлов
  • Кликаем правой кнопкой мыши на созданный файл и нажимаем Изменить. Откроется обычный блокнот, в нем нам и нужно написать скрипт. Пример кода: «C:Program Files7-Zip7z.exe» a -mx9 C:backuparchive.7z C:project Расшифровка кода:
    «C:Program Files7-Zip7z.exe» Наш путь в программе, через которую мы хотим архивировать
    a команда добавить в архив
    -mx9 ключ, который указываем что добавить в архив нужно с максимальным уровнем сжатия (об этом говорит цифра 9)
    C:backuparchive.7z Первый элемент пути к папкам и файлам, указывает КУДА нужно поместить созданный архив
    C:project Второй элемент пути к папкам и файлам, указывает ЧТО нужно архивировать
  • Готово! Сохраните внесенные изменения, закройте файл и запустите. Должен создаться архив в нашей папке backup

На этом можно было бы остановиться, но обязательно ли постоянно прописывать путь к программе 7zip? Что если не нужно архивировать не все файлы в папке? Как в название архива добавить дату, когда он был сделан?

Интересные команды для файлов .BAT

Разберем каждый пункт по порядку.

Привязываем путь к программе 7zip к переменной

  • Нажимаем правой кнопкой мыши на Этот компьютер->Свойства в появившемся окне в списке слева выбираем Дополнительные параметры системы->Переменные среды.
  • В верхнем разделе Переменные среды пользователя для Ваш_user нажимаем Создать. В открывшемся окне указываем значения ниже, после жмем OK
  • Имя переменной — любое удобное имя, которое будет обозначать программу 7zip
  • Значение переменной — полный путь к программе с указанием exe файла

Окно пользовательской переменной

  • В этом же разделе выбираем переменную path, нажимаем Изменить и добавляем путь к EXE C:Program Files7-Zip, но его в пути не указываем! Окно добавления пути к программе
  • Готово! Теперь код будет выглядеть компактнее, в BAT-файле замените «C:Program Files7-Zip7z.exe» на 7z Пример кода:
  • Читайте также:
    Алгоритм выполнения пост программы

    7z a -mx9 C:backuparchive.7z C:project

    Исключаем ненужные файлы из архивации

    Для исключения файлов необходимо в конце скрипта добавить ключ -xr! , чтобы понять как он работает, просто изучите примеры.

    -xr!file.png Исключаем файлы с именем и расширением file.png
    -xr!*.png Исключаем файлы с расширением .png, неважно имя файла
    -xr!file.* Исключаем файлы с именем file, неважно расширение файла
    -xr!file Исключаем папки с именем file
    -xr!file*.* Исключаем файлы, имя которых начинается на file%, например file01.txt в архив не попадет
    -xr!*file*.* Исключаем файлы, имя которых содержит %file%, например 01file01.png в архив не попадет

    Теперь на основе полученных данных модернизируйте BAT-файл, если необходимо

    Пример кода:

    7z a -mx9 G:backuparchive.7z G:project -xr!thumb.*

    Добавляем дату и время создания архива в название

    • В Window есть две системные переменные, которые будем использовать
      DATE Возвращает текущую системную дату в формате: 01.01.2020
      Time Возвращает текущее системное время в формате: 15:29:55,03

      Чтобы добавить их в название файла архива, достаточно обозначить эти переменные знаком % с обоих сторон Добавьте эти переменные в название архива, отделите их нижним подчеркиванием, чтобы дата и время не сливались и в конце скрипта с добавьте новую команду pause, чтобы BAT-файл не закрывался сразу, как по примеру ниже Пример кода:

    7z a -mx9 C:backuparchive_%DATE%_%Time%.7z C:project -xr!thumb.*
    pause

    Окно ошибки синтаксиса в командной строке

    Сохраните и запустите!
    После запуска должна возникнуть оишбка Синтаксическая ошибка в имени файла, имени папки или метке тома.Причина проста: формат переменной Time 12:23:38, а в Windows в названии файлов запрещено испольвать двоеточия «:» Для решения данной проблемы выведем только часы и минуты в название. Пример кода:

    7z a -mx9 C:backuparchive_%DATE%_%Time:~0,2%_%Time:~3,2%.7z C:project -xr!thumb.*
    pause

    Рефакторинг и оптимизация завершены

    «C:Program Files7-Zip7z.exe» a -mx9 C:backuparchive.7z C:project
    7z a -mx9 C:backuparchive_%DATE%_%Time:~0,2%_%Time:~3,2%.7z C:project -xr!thumb.*
    pause

    При необходимости можете настроить запуск данного файла по расписанию для этого переходите по ссылке

    Источник: best-manual.ru

    Запуск bat файла при загрузке windows планировщик задач + видео обзор

    Запуск bat файла при загрузке windows планировщик задач

    Файл архива заблаговременно нормально создается в папке-источнике в виде DDMMYY.zip (тоже через планировщик с «похожим» bat-файлом)
    Если этот bat-файл запускать вручную (он на раб столе админа), то он нормально срабатывает: возникает черное окно комстроки, которое висит полминуты пока копируется файл, потом оно исчезает, копирование происходит.

    Проверил я и версию, что имя файла заданное через %date не передается планировщиком, создал аналогичный bat-файл, котором
    xcopy «d:arhivaccNew folder200913.zip» z:arc
    С эти файлом все так же, вручную копирует, а в планировщике «успешно» выполняется, но не копирует.

    Запускал Process Monitor параллельно с заданием: там много операций выскакивает, но все с результатом SUCCESS, кроме одной
    cmd.exe RegQueryValue HKLMSoftwareMicrosoftWindows NTCurrentVersionGRE_InitializeDisableMetaFiles NAME NOT FOUND Length:20

    Сообщения: 51909
    Благодарности: 14931

    Сообщения: 51909
    Благодарности: 14931

    alef2474, смотреть файлы, которые создаются при выполнении задания в планировщике. »

    Те другие, видимо, создавались, когда я запускал без планировщика.

    Сообщения: 51909
    Благодарности: 14931

    Запуск bat файла при загрузке windows планировщик задач

    Файл архива заблаговременно нормально создается в папке-источнике в виде DDMMYY.zip (тоже через планировщик с «похожим» bat-файлом)
    Если этот bat-файл запускать вручную (он на раб столе админа), то он нормально срабатывает: возникает черное окно комстроки, которое висит полминуты пока копируется файл, потом оно исчезает, копирование происходит.

    Видео: Как сделать запуск программ по расписанию Скачать

    Как сделать запуск программ по расписанию

    Видео: Планировщик заданий Windows — создание простого задания Скачать

    Планировщик заданий Windows — создание простого задания

    Проверил я и версию, что имя файла заданное через %date не передается планировщиком, создал аналогичный bat-файл, котором
    xcopy «d:arhivaccNew folder200913.zip» z:arc
    С эти файлом все так же, вручную копирует, а в планировщике «успешно» выполняется, но не копирует.

    Запускал Process Monitor параллельно с заданием: там много операций выскакивает, но все с результатом SUCCESS, кроме одной
    cmd.exe RegQueryValue HKLMSoftwareMicrosoftWindows NTCurrentVersionGRE_InitializeDisableMetaFiles NAME NOT FOUND Length:20

    Сообщения: 51909
    Благодарности: 14931

    Сообщения: 51909
    Благодарности: 14931

    alef2474, смотреть файлы, которые создаются при выполнении задания в планировщике. »

    Те другие, видимо, создавались, когда я запускал без планировщика.

    Сообщения: 51909
    Благодарности: 14931

    Блог IT для Windows

    Все про Windows, программное обеспечение, информационную безопасность, программирование

    Добавляем задание в Планировщик заданий

    Рассмотрим добавление задания в Планировщик заданий, для автоматического
    копирования данных. Скрипт, написанный в bat-файле для копирования данных.)

    1. Необходимо запустить планировщик заданий:

    Сочетания клавиш win + R (выполнить) и в появившемся окне ввести taskschd.msc

    Запуск bat файла при загрузке windows планировщик задач

    Видео: Создание bat файла для запуска VirtualBox машины с помощью планировщика заданий. Скачать

    Создание bat файла для запуска VirtualBox машины с помощью планировщика заданий.

    Видео: Убираем периодические лаги и зависания компьютера. Находим задачи вирусов. Планировщик заданий. Скачать

    Убираем периодические лаги и зависания компьютера. Находим задачи вирусов. Планировщик заданий.

    2. В Планировщике заданий необходимо выбрать пункт меню «Действие» и
    в появившемся меню пункт «Создать задачу«.

    Запуск bat файла при загрузке windows планировщик задач

    3. Далее необходимо ввести «Имя задачи«, в данном случае «Бэкпап«,
    но можно указать и другое имя.

    Запуск bat файла при загрузке windows планировщик задач

    4. Далее необходимо перейти на вкладку «Триггеры» и нажать кнопку «Создать«.

    Запуск bat файла при загрузке windows планировщик задач

    5. На следующем шаге необходимо настроить расписание запуска задания (в данном случае задание будет запускаться по рабочим дням в 18-00).

    Запуск bat файла при загрузке windows планировщик задач

    Можно задать другое расписание, например «При входе в систему«.

    Запуск bat файла при загрузке windows планировщик задач

    6. На заключительном этапе необходимо указать действие нашего задания, для этого необходимо перейти на вкладку «Действия» и нажать кнопку «Создать«.

    Запуск bat файла при загрузке windows планировщик задач

    В данном примере действием будет запуск файла backup.bat с локального диска Е.

    Запуск bat файла при загрузке windows планировщик задач

    Итак, задание в Планировщике заданий назначено.

    Вы нашли на данном сайте нужную информацию и она Вам помогла.
    Вы можете помочь данному сайту, кинув в копилку несколько рублей.

    Использование bat файлов для создания «Заданий по расписанию»

    Продолжаю тему создания нетривиальных bat-файлов для тривиальных задач, начатую здесь.

    Видео: как запустить php из bat-файла и наоборот/отложенный запуск php скрипта (windows) Скачать

    как запустить php из bat-файла и наоборот/отложенный запуск php скрипта (windows)

    Видео: Бат файлы: основные команды, примеры Скачать

    Бат файлы: основные команды, примеры

    Наверняка многие сталкивались с задачей, когда для каких-либо целей в ОС Windows необходимо создать задание, выполняемое по расписанию (scheduled task).
    Для этих целей имеется простой графический интерфейс. Однако как поступить, если задание должно создаваться автоматически?
    Попробуем решить эту задачу с использованием примитивного bat-скрипта, который будет выполняться в практически любой версии Windows.

    Для удобства, создадим на машине локального технологического пользователя, под которым будет работать наше задание по расписанию. Это удобно тем, что для пользователя можно задать права, которые необходимы только для выполнения определенных действий.

    :: Имя локального пользователя, под которым будем работать
    set user_name =test_user
    :: Пароль для локального пользователя
    set user_passw =test_passw

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

    К счастью, в ОС Windows группы привязаны к так называемому Group SID. Зная, к примеру, Group SID группы «Администраторы», мы можем использовать его в скрипте. Например, S-1-5-32-545 — это локальные пользователи, а S-1-5-32-544 — администраторы.
    Теперь нужно определить имя для заданного Group SID, используемого в данной локализации. Тут нам на помощь придет WMIC (WMI command-line).

    Нужно знать еще один нюанс. При создании пользователя, в зависимости от системных настроек, задается время истечения пароля. И если пароль нужно будет поменять, то задание по расписанию не будет выполняться. Для этого нам нужно создать пользователя, у которого никогда не истекает пароль. Задать это в стандартной команде net user нельзя (expires:never — задает, что пользователь не может поменять пароль), поэтому опять прибегнем к помощи WMIC:

    Обратите внимание, что если вы удаляете пользователя командой net user test_user /DELETE, то вам нужно будет вручную удалить его каталог по пути %USERS%test_user либо предусмотреть его удаление в скрипте.

    Ну а далее создаем само задание, выполняемое по расписанию:

    :: Имя запланированного задания, под которым будет работать приложение
    set task_name =Test_task_bat
    :: Путь к приложению
    set my_app_path = «d:test.bat»
    :: Интервал работы приложения во временном задании
    :: Valid schedule types: MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE.
    :: ЕЖЕМИНУТНО, ЕЖЕЧАСНО, ЕЖЕДНЕВНО, ЕЖЕНЕДЕЛЬНО, ЕЖЕМЕСЯЧНО ПРИ ЗАПУСКЕ ВХОДЕ В СИСТЕМУ ПРИ ПРОСТОЕ
    set schtasks_time =MINUTE
    :: Начальное время старта приложения во временном задании
    set schtasks_start =08:00:00

    :: Создание запланированного задания
    schtasks / create / tn «%task_name%» / tr % my_app_path % / sc % schtasks_time % / st % schtasks_start % / ru % user_name % / rp % user_passw %

    Вот и все. Надеюсь, что мой небольшой мануал окажется полезен и вы сэкономите свое время при выполнении данной задачи.

    Настройка регламентных заданий с использованием bat-файлов или vbs-скриптов через механизм Task Scheduler Windows

    Навеяно собственным опытом настройки регламентного задания в типовую УТ без добавления в конфигурацию и обещанием себе в процессе внедрения собрать и систематизировать все материалы, которые были найдены в различных источниках.

    Процесс настройки разделяется на четыре этапа:

    По первому пункту, видимо тут для каждого будет своя обработка, так, собственно, пример своей обработки я прикреплю к статье. Постарался написать универсальный код, который способен выполнить последовательно несколько процедур.

    Далее следует выбор, как запускать данную обработку.

    Видео: Как открыть планировщик заданий windows. Назначение планировщика задач Скачать

    Как открыть планировщик заданий windows. Назначение планировщика задач

    Видео: Как запустить bat файл от имени администратора в Windows Скачать

    Как запустить bat файл от имени администратора в Windows

    Каждый из вариантов имеет свои плюсы, так и минусы. Например, использование первого варианта предполагает полный запуск 1С с интерфейсом.

    bat_file.bat

    «ПУТЬ_К_ТЕКУЩЕЙ_ВЕРСИИ_1Сbin1cv8.exe» ENTERPRISE /F «ПУТЬ_К_БАЗЕ «/N «ИМЯ_ПОЛЬЗОВАТЕЛЯ_1С» /P «ПАРОЛЬ» /DisableStartupMessages /Execute»ПУТЬ_К_ОБРАБОТКЕСАМА_ОБРАБОТКА.epf» /C»ПАРАМЕТР1, ПАРАМЕТР2″

    bat_serv.bat

    «ПУТЬ_К_ТЕКУЩЕЙ_ВЕРСИИ_1Сbin1cv8.exe» ENTERPRISE /S «ИМЯ_СЕРВЕРАИМЯ_БАЗЫ «/N «ИМЯ_ПОЛЬЗОВАТЕЛЯ_1С» /P «ПАРОЛЬ» /DisableStartupMessages /Execute»ПУТЬ_К_ОБРАБОТКЕСАМА_ОБРАБОТКА.epf» /C»ПАРАМЕТР1, ПАРАМЕТР2″

    Так, хочется отметить, что одна из трудностей, с которой я столкнулся, это то, что сначала не указал параметр /DisableStartupMessages, подавляющего сообщения о несоответствии сохраненной конфигурации и конфигурации базы данных. Из-за его отсутствия у меня стопорился процессы выполнения.

    scr_file.vbs

    Set t = CreateObject(«V83.Application»)
    t.Connect(«File=»»ПУТЬ_К_БАЗЕ_1С»»;Usr=»»ИМЯ_ПОЛЬЗОВАТЕЛЯ»»;pwd=»»ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ»»»)
    r = t.ExternalDataProcessors.Create(«ПУТЬ_К_ОБРАБОТКЕСАМА_ОБРАБОТКА.epf», FALSE).ThisObject.Example(«»»»»»»ПАРАМЕТР1, ПАРАМЕТР2″»»»»»»)
    If r = 1 Then
    MsgBox(«Ok»)
    End If
    t.Exit(False)
    set t = Nothing

    scr_serv.vbs

    Set t = CreateObject(«V83.Application»)
    t.Connect(«Srvr=ИМЯ_СЕРВЕРА;Ref=ИМЯ_БАЗЫ;Usr=»»ИМЯ_ПОЛЬЗОВАТЕЛЯ»»;pwd=»»ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ»»»)
    r = t.ExternalDataProcessors.Create(«ПУТЬ_К_ОБРАБОТКЕСАМА_ОБРАБОТКА.epf», FALSE).ThisObject.Example(«»»»»»»ПАРАМЕТР1, ПАРАМЕТР2″»»»»»»)
    If r = 1 Then
    MsgBox(«Ok»)
    End If
    t.Exit(False)
    set t = Nothing

    Видео: Как прописать программу в автозапуск Windows. 3 Способа Скачать

    Как прописать программу в автозапуск Windows. 3 Способа

    Видео: Как автоматически запускать программы и выключать компьютер по расписанию в windows 7 8 10 Скачать

    Как автоматически запускать программы и выключать компьютер по расписанию в windows 7 8 10

    Информационное сообщение имеет смысл только на этапе отладки скрипта, при последующей настройке регламентного задания советую это сообщение убрать.

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

    На следующем этапе встаем на тропу админов.

    Требуется добавить задание в Task Scheduler Windows.

    В моем случае это был Win Server, хотя это совсем не принципиально, интерфейс планировщика задач одинаков и не менялся уже очень давно.

    Запуск bat файла при загрузке windows планировщик задач

    Очень важно, чтобы Была выбрана опция «Выполнять для всех пользователей» и была установлена галка «Выполнить с наивысшими правами».

    1С все таки, хочешь быстро, устанавливай монопольный режим))

    Переходим к настройке расписания, здесь я не испытал трудностей, тут все просто.

    Запуск bat файла при загрузке windows планировщик задач

    Запуск bat файла при загрузке windows планировщик задач

    Все остальные реквизиты я оставил по умолчанию.

    Нажимаем ОК, наблюдаем как задача добавилась в список и начала исполняться.

    Все описанное в статье можно более детально изучить на скриптах, которые прикреплены к статье, а также подробнее изучить принцип передачи различного количества параметров для множественного запуска процедур внешней обработки.

    Видео

    Автозапуск программ на python Скачать

    Автозапуск программ на python

    Планирование и автозапуск Python скриптов по времени Скачать

    Планирование и автозапуск Python скриптов по времени

    HASHSTREM | Управление планировщиком Windows Скачать

    HASHSTREM | Управление планировщиком Windows

    Создание bat файла для запуска нескольких программ. Скачать

    Источник: altarena.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru