Как сделать чтобы батник запускался от имени администратора
Перейти к содержимому

Как сделать чтобы батник запускался от имени администратора

  • автор:

Как сделать чтобы батник запускался от имени администратора

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

Конфигурация компьютера
Процессор: Intel Core i5-10400 (2.9-4.3 GHz)
Материнская плата: Gigabyte Z490 UD
Память: Kingston HyperX FURY Black 32Gb (2*16Gb), PC25600
HDD: SSD A-Data XPG GAMMIX S11 Pro, 512Gb, M.2 (PCI-E 3.0 x4)
Видеокарта: KFA2 NVIDIA GeForce RTX 4070 12 Gb 3 Fan
Блок питания: Chieftec APS-700C 700w
Монитор: LG L227W (Digital) 22″ LCD (WSXGA+)
ОС: Windows 10 Pro 22H2

как сделать bat файл запускающийся от имени администратора?

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

либо как еще можно это организовать кроме cmd

——-
~~~ Только Бог может судить Меня ~~~

Как сделать так чтобы bat открывался от админа?

Есть bat файл, который корректно работает только при запуске от имени администратора. Как сделать так чтобы он автоматически запускался от имени администратора?

  • Вопрос задан более трёх лет назад
  • 216 просмотров

Комментировать

Решения вопроса 0

Ответы на вопрос 1

Jump

Системный администратор со стажем.

Как сделать так чтобы bat открывался от админа?

ПКМ — запуск от имени администратора.
Или runas.

Как сделать так чтобы он автоматически запускался от имени администратора?

Автоматически запускать от имени администратора.

Ответ написан более трёх лет назад

запуск bat скрипта cmd с правами администратора

Всем привет Есть bat скрипт на автоматическое подключение к впн/команду route add/подключение дисков с серверной. Всё бы ничего, да только команда route add должна выполняться через cmd с правами администратора. Вопрос, как можно выполнить bat скрипт, чтобы он открылся не в обычной cmd, а с правами администратора ?

Отслеживать
4,343 1 1 золотой знак 25 25 серебряных знаков 34 34 бронзовых знака
задан 25 фев 2023 в 13:11
13 1 1 серебряный знак 4 4 бронзовых знака

Руками — по правой кнопке мышки. Можно задание повесить и там поставить галочку «выполнять с наивысшими привилегиями»

25 фев 2023 в 13:24

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Это делается с помощью runas.

runas /user:Administrator "cmd /k \file.bat" 

Отслеживать
ответ дан 25 фев 2023 в 15:00
4,343 1 1 золотой знак 25 25 серебряных знаков 34 34 бронзовых знака

У меня получилось только создав ярлык к этому батнику.

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

Отслеживать
ответ дан 28 фев 2023 в 4:50
Герман Борисов Герман Борисов
10.5k 14 14 серебряных знаков 38 38 бронзовых знаков

  • bat
  • права
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.2.14.4854

Bat-файлы — их создание и команды

Рассмотрим мощный инструмент автоматизации рутинных задач в семействе операционных систем Windows.

Изображение записи

Рассмотрим мощный инструмент автоматизации рутинных задач в семействе операционных систем Windows.

Что такое bat-файлы?

BAT-файл — это последовательность команд для интерпретатора командной строки в виде текстового файла с расширением .bat или .cmd. Основное предназначение пакетных файлов — автоматизация рутинных действий пользователя компьютера.

Название BAT появилось от английского batch — пакетная обработка. В истории продуктов Microsoft пакетные файлы существовали с первой версии MS-DOS в 80-х годах и позже успешно интегрировались в Microsoft Windows. В MS-DOS командным интерпретатором выступает COMMAND.COM, а начиная с Windows NT и до сих пор используется CMD.EXE.

Интерпретатор COMMAND.COM принимает файлы с расширением .BAT. Расширение .CMD создано для интерпретатора CMD.EXE с целью различать файлы для «старого» и «нового» интерпретаторов. CMD.EXE корректно обрабатывает оба расширения.

Интерпретатор CMD.EXE является частью современных операционных систем семейства Microsoft Windows, несмотря на отсутствие развития с начала 2000-х.

Основы взаимодействия с bat-файлами

Пакетный файл bat — это текстовый документ со специальным расширением. Для создания своего первого bat-файла достаточно «Блокнота», который доступен в операционной системе. Для повышения удобства написания и поддержки bat-файлов рекомендуем использовать Notepad++ или любой другой текстовый редактор с подсветкой синтаксиса.

Создание bat-файлов

создание файла

Для создания пакетных файлов необходимо открыть текстовый редактор и в меню Файл выбрать Сохранить как….

сохранение в формате bat

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

расширения имен

Если вы ошиблись при сохранении и пакетный файл сохранился с расширением txt, то не обязательно совершать повторное сохранение. Можно включить отображение расширения имен файлов и переименовать файл.

Запуск bat-файлов

запуск от имени администратора

Запуск пакетных файлов производится двойным кликом по иконке. Дополнительно можно использовать команду Открыть из контекстного меню, которое доступно при нажатии правой клавиши мыши (ПКМ) по файлу. Если для выполнения команд требуются права администратора, то в том же контекстном меню есть пункт Запуск от имени администратора.

Исполняемые bat-файлы не могут запрашивать права администратора, если командам нужны расширенные права.

Запуск через контекстное меню откроет командный интерпретатор, в котором выполнятся команды bat-файла. По завершении команд окно закроется. Такое поведение неприемлемо, если от пакетного файла требуется какая-то обратная связь — например, сообщение об ошибке или результат вычислений. В таком случае интерпретатор следует запустить вручную и передать ему пакетный файл.

выполнение команды cmd

Для запуска интерпретатора командной строки необходимо открыть меню Выполнить сочетанием клавиш Win + R, вписать cmd и нажать ОК.

окно интерпретатора

Для запуска пакетного файла его необходимо перенести мышкой в открывшееся окно и нажать Enter. Команды bat-файла будут выполнены, а его вывод вы увидите на экране.

Скрытый запуск

Вне зависимости от способа запуска откроется окно, которое может привлекать внимание и раздражать. Для запуска в «скрытом» режиме необходимо использовать другой скриптовой язык Microsoft Windows — VBScript.

По аналогии создаем файл с расширением .vbs и заполняем его следующими командами:

Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "С:\путь\до\вашего\скрипта.bat" & Chr(34), 0 Set WshShell = Nothing

Для скрытого запуска следует запускать созданный файл, а не bat-файл. Скрытый запуск bat-файла актуален для автоматизации действий по расписанию, например, создание резервной копии.

Запуск по расписанию

За выполнение действий по расписанию отвечает Планировщик заданий. Открываем меню Выполнить и запускаем программу taskschd.msc.

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

  • имя для простой идентификации,
  • периодичность и время запуска,
  • действие — Запустить программу,
  • программа или сценарий — путь до вашего .bat-файла или .vbs-файла, который запускает .bat-файл скрытно.

имя файлатриггерповторяемостьзапуск программы

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

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

Команды и синтаксис пакетных файлов

Командный интерпретатор выполняет команды из файла последовательно — строка за строкой. Исключение составляет только оператор GOTO, который «отправляет» к указанной строке. Командный интерпретатор выполняет два вида команд: встроенные команды и внешние исполняемые файлы.

Внешние исполняемые файлы — это любой исполняемый файл, то есть с расширением EXE, CMD или BAT, который доступен в операционной системе. Например, «Блокнот» — это исполняемый файл notepad.exe. Следующая команда приведет к запуску этого приложения с открытым файлом C:\1.txt:

notepad.exe C:\1.txt

Аргументом может быть не только путь, но и ключ — специальный аргумент, который начинается с символа слэш (/). У каждой программы свой «реестр» ключей и их значений.

Обратите внимание, что не все внешние команды «понимают» аргументы, переданные из интерпретатора командной строки. Например, исполняемый файл приложения калькулятор, calc.exe, игнорирует все аргументы командной строки. Внешним исполняемым файлом может быть в том числе другой bat-файл.

встроенные команды

Встроенные команды — это команды, которые являются частью интерпретатора командной строки. Полный список команд доступен по команде HELP. Данные команды не имеют отдельного исполняемого файла.

Иногда в имени файла или каталога встречаются пробелы. Наиболее очевидный пример — каталог Program Files на диске C. В этом случае помогают кавычки. Их можно расставить различными способами. Например:

cd "C:\Program Files\123" cd C:\”Program Files”\123

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

Комментарии

Оставлять комментарии при разработке — хороший тон. Так можно объяснить выполняемые действия и потенциальные ошибки. В пакетных файлах можно оставлять комментарии несколькими способами.

Официальный способ — команда rem или два двоеточия.

rem Это первый комментарий :: Это тоже комментарий

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

goto start === Здесь можно оставить большой комментарий, лицензию или даже ASCII-арт === :start

В конце комментария задаем имя метки, а в начале комментария выполняем команду GOTO c именем метки. Этот способ требует внимания, так как для каждого комментария должна быть своя метка, иначе выполнение bat-файла может отличаться от ожидания разработчика.

Совместимость с MS-DOS

В старых ОС, таких как MS-DOS, было ограничение на отображение имени файлов. На экран выводилось восемь символов имени, точка и три символа расширения. Если имя файла превышало по длине восемь символов, то имя файла отображалось по следующей схеме:

Например, каталог Program Files выглядит следующим образом:

Progra~1

В современных операционных системах такое отображение не применяется, но CMD.EXE до сих пор поддерживает такие запросы к файлам и каталогам.

Используйте bat-файлы в работе с выделенным сервером

Выберите подходящий из более 100 готовых конфигураций.

Примеры bat-файлов

Рассмотрим несколько примеров bat-файлов. Начнем с базовых команд.

Обновление IP-адреса

Представим простой пример: необходимо обновить аренду IP-адресов на всех сетевых интерфейсах. В командной строке это делается одной командой:

ipconfig /renew

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

rem Отключаем отображение команд. Символ @ отключает отображение текущей команды @echo off rem Переводим вывод выполнения в устройство NUL, вывод исчезнет ipconfig /renew > NUL

При запуске такого скрипта появляется черное окно, которое быстро исчезает. Можно оставить простые и понятные пользователю сообщения и не дать окну закрыться.

@echo off echo Выполняется настройка, пожалуйста, подождите. ipconfig /renew > NUL echo Все хорошо. rem Эта команда остановит выполнение до тех пор, пока пользователь не нажмет любую клавишу pause

Скорее всего данный скрипт выведет набор непонятных символов вместо сообщения. Дело в том, что в русскоязычных ОС Windows по умолчанию в CMD.EXE используется кодировка CP866. Блокнот сохраняет в CP1251 (Windows-1251), а Notepad++ — в UTF-8. Для решения проблемы необходимо сменить кодировку интерпретатора командой chcp или сохранить bat-файл в кодировке интерпретатора.

rem Смена кодировки на Windows-1251 chcp 1251 > NUL rem Смена кодировки на UTF-8 chcp 65001 > NUL

Я сохранил файл в кодировке UTF-8 и итоговый скрипт получился таким:

@echo off chcp 65001 > NUL echo Выполняется настройка, пожалуйста, подождите. ipconfig /renew > NUL echo Все хорошо. pause

Создание резервной копии каталога

Перейдем к более жизненной ситуации — создание резервной копии (backup) каталога. Предположим, что каждый архив должен иметь в названии дату создания копии. Создадим каталог, имя которого — текущая дата. Текущая дата хранится в переменной DATE. Для обращения к переменным название переменной помещается между знаками процента.

mkdir %DATE% cd %DATE%

Копирование файлов в текущий каталог производится командой COPY.

 rem файлы 1.txt и 2.txt будут скопированы в текущую папку COPY C:\1.txt C:\2.txt . rem файл 3.txt будет сохранен в текущую папку как example.txt COPY C:\1.txt .\example.txt

Возможно, в резервную копию необходимо дополнить служебную информацию — например, список файлов в корне копии и имя компьютера.

rem Имя компьютера записывается в файл computer.txt hostname > computer.txt rem Список файлов в текущем каталоге записывается в files.txt dir . > files.txt

Обычно резервные копии хранят в zip- или rar-архивах. Из командной строки отлично управляется архиватор 7z.

cd .. 7z -tzip a backup.zip %DATE% 

Переименование файлов

Переименование файлов в Windows производится командой RENAME. Однако эта команда имеет свои особенности.

Во-первых, переименование возможно только в рамках одного диска и одного каталога. Между каталогами одного диска допустимо перемещение, а между разными дисками — только копирование.

 rename abc.txt cba.txt

Во-вторых, возможно переименование по маске. Допустим, есть список фотографий photo000.jpeg, photo001.jpeg и так далее. Нужно сменить префикс с photo на mobile.

rename photo* mobile*

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

rename photo*.jpeg mobile*.jpeg

Удаление файлов

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

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

rem Ищем все файлы с расширением jpeg в каталоге work rem Ключ /r включает в поиск все подкаталоги в каталоге work for /r work %%file in (*.jpeg) do ( rem Выводим имя файла echo %%file delete %%i )

Заключение

Командный интерпретатор CMD.EXE существует долгое время, но, даже несмотря на отсутствия развития, остается востребованным инструментом для автоматизации рутинных действий в операционной системе Microsoft Windows.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *