🖍️
Dev & Ops
Admin
Admin
  • Admin Book
  • Network
    • Проблемы
      • Освободить порт
    • Tools
      • tshark
      • Анализ трафика
      • curl
      • nmap
      • masscan
      • ifconfig
      • netcat/nc/socat
      • iptables
      • netstat
      • downloaders
      • openvpn3
      • tcpdump
      • databases
        • mysql
        • mssql
      • smbclient
    • Протоколы
      • Почтовые протоколы
        • pop3
        • smtp
        • imap
        • DMARC, SPF, DKIM
      • TOR
      • 2G/3G/4G/5G
      • DNS
        • Banner Grabbing
        • rDNS (или PTR-записи)
        • Zone Transfer
        • Купить свой домен
      • ssh
      • snmp
      • icmp
      • ldap
      • cisco
    • Практические нюансы и подходы
  • Операционные системы
    • MacOS
    • RedHat
    • Linux
      • Настройка Debian
        • Intro
        • Oh My ZSH
        • Установка графической оболочки
        • Firewall
      • Файловая система
        • proc
        • Получить полный путь до файла
        • Размеры дисков, директорий, файлов
        • Работа с дисками
        • Работа с флешками и другими монтированными устройствами
      • Network
      • Security
        • namespaces & cgroups
        • SELinux
        • AppArmor
        • eBPF
        • audit.d
        • Seccomp
      • Background Services and Crons
      • Troubleshooting
        • Если нет звука
      • Cases
        • nohup Поднять сервер без привязки к ssh-сессии
        • Отвязать процесс от родителя в bash
        • Нормальная консоль (возможность удаления данных, а не ^[[D)
        • Установка пакетов
        • Сетевые порты
        • Установить переменную окружения глобально
        • RDP Clients
      • Команды
        • Список команд BusyBox
        • source
        • grep
        • ps
        • find
        • vi
    • Windows
      • Packet Managers
      • Тулзы для администрирования
      • Пути на системе
      • Работа с bat-никами
      • ipconfig
      • Характеристики компа
      • Microsoft Store
      • Образы Windows
      • cmd
        • reg
        • sc
        • net
        • Список разных команд (надо оформить в отдельные страницы)
    • Tools
      • Файловый менеджер
      • Работа с архивами
      • Terminals
      • osquery
      • saltstack
      • chef
  • Tools
    • Развернуть свою виртуальную лабу на базе Windows
    • S3
    • Покупка доменов
    • Настройка почты
      • Docker
      • iRedMail
      • Postfix (SMTP)
      • Dovecot (IMAP)
      • RoundCube
      • Другие инструкции
      • fail2ban
    • Splunk
    • Распределенные вычисления
      • Apache Hadoop
      • Уязвимости
    • Databases
      • клиенты
      • MongoDB
      • postgres
      • Redis
      • mysql
      • H2 Database
      • Experiments
        • neo4j
        • edgedb
    • Servers
      • WEB
        • Apache
        • Nginx
        • Oracle
        • IIS
        • Passenger
      • one line servers
      • Pi-hole: свой dns сервер
    • Удаленное управление серверами
      • HP iLO
    • VPN
      • Pulse Secure SSL VPN
      • VPN WireGuard
      • OpenVPN
    • CI/CD
      • Gitlab CI
      • TeamCity JetBrains
      • jenkins
        • Для чего
        • Установка
        • Basic Usage
        • Pipelines
        • Blue Ocean
        • Security
    • Визуализация/Отчетность/Работа с событиями
      • Allure
      • Logstash
      • Kibana
      • Grafana
      • Elasticsearch
        • Теория
        • Практика
      • Kafka
      • Rsyslog
    • RackTables
    • Мониторинг сети, приложений и событий
      • Prometheus
      • Zabbix
      • snort
      • moloch
  • Learning
    • Онлайн курсы
    • Подборки материалов
      • DevOps
      • DevSecOps
Powered by GitBook
On this page
  • Запуск программы в отдельном потоке и закрытие консоли сразу:
  • Пример bat-ника
  1. Операционные системы
  2. Windows

Работа с bat-никами

Ниже представлены различные bat-ники в качестве примера

Запуск программы в отдельном потоке и закрытие консоли сразу:

@echo off
start my.exe
exit

Команда start - отвечает за запуск программы в другом потоке. Если ее не указать, то все будет выполняться в текущем процессе (=> пока не закроем my.exe, консоль не закроется).

Пример bat-ника

@set dir=C:\
@echo off
MD C:\LogDir

rem Some message

:stage0
@If Exist "C:\SomeDir" (
    echo %date% %time% > C:\LogDir\test.log
    tasklist | find /C "some.exe"
    @if errorlevel 1 (
        echo shutdown >> C:\LogDir\some.log
        SHUTDOWN.EXE /r
    goto end
    )
    @If Exist "C:\SomeDir\some.bat" (
        ping -n 60 127.0.0.1 > nul
        call "C:\SomeDir\some.bat" >> C:\LogDir\some.log 
    goto end
    )
    sc config SomeService start= Demand
    sc start SomeService
    sc query SomeService | findstr /C:"STATE" | findstr /C:"RUNNING" > nul
    if %ERRORLEVEL%==0 (
        echo Service SomeService successfully started >> C:\LogDir\some.log
        exit /b
    )
    call "C:\SomeDir\some2.bat" reboot
    goto end
)
Else (
    goto stage1
)

rem Stage 2
:stage1
set /p "x=somestr" > "somefile.bat" < nul
set /p 'x=""somestr""' > "somefile1.bat" < nul
copy "somefile2.bat" "somefile3.bat"

goto end


:error
@If Exist "C:\LogDir" (
    shutdown /r /t 60 /f >>C:\LogDir\some.log
) ELSE (
    mkdir "C:\LogDir"
    shutdown /r /t 60 /f >>C:\LogDir\some.log
)
:end
exit
PreviousПути на системеNextipconfig

Last updated 3 years ago