10 способов запустить программу от имени администратора в Windows 10
Рассмотрим несколько способов запустить программу от имени администратора в Windows 10, для исправления ошибок: « CreateProcess сбой, код 740 «, « Запрошенная операция требует повышения «, « Отказано в доступе » и др., возникающих при запуске программ с ограниченными правами (пользователь, гость).
По умолчанию программы и игры в Windows 10 запускаются без прав администратора, чтобы предотвратить несанкционированные изменения в вашей системе. Но частый случай, когда для корректной работы программы требуются запуск с повышенными правами (администратор), для правильной работы или выполнения определенных команд.
Внимание: для запуска программы с повышенными правами, вам потребуется знать пароль администратора!
Командная строка (CMD)
Однократный способ запуска программы от имени администратора, используя командную строку Windows (CMD).
Простым способом запуска является запуск Командной строки от имени администратора , из которой выполняется запуск нужной программы. Но вы так же можете выполнить запуск из консоли CMD (с правами пользователя), используя команду runas .
- Запустите командную строку;
- Выполните команду runas , указав имя пользователя с административными правами и полный путь до файла запускаемой программы;
- Введите пароль пользователя с административными правами.
Меню Пуск (контекстное меню)
Запуск программы с повышенными правами используя контекстное меню, в меню Пуск .
- Откройте меню Пуск ( Ctrl+ESC );
- Найдите значок программы в списке Все программы ;
Запуск программы от имени администратора через bat-файл
После чего открывается консоль и просит пароль Администратора. Я ввожу пароль, консоль закрывается и ничего не происходит. Пробовал запуск bat под учёткой пользователя и под Администратором.
НО если ввести данную
строку в консоли, то приложение спокойно запускается под обеими учётными записями.
Вопрос, почему не работает bat файл?
На скриншоте успешный запуск программы через командную строку.
Запуск файла в директории с .bat, когда .bat запущен от имени администратораЗдравствуйте. Имею бат, он должен запускать файл »
1.bat». Но если даже.
Запуск bat-файла от имени локального администратораДоброго времени. Интересует вопрос возможности и реализации. Задачка создать батник, его должен.
Запуск приложения от имени другого пользователя через BAT файл, с сохранением путей для Log & INI файловЗапуск приложения от имени другого пользователя через BAT-файл, с сохранением путей для Log & INI.
Запуск программы от имени администратораДобрый день. Как через bat файл запустить программу от локального администратора без ввода пароля.
Использование переменных окружения в командных файлах.
При работе с командными файлами невозможно обойтись без переменных окружения (environments) – переменных, значения которых определяют среду, в которой выполняются команда или пакетный файл. Часто их называют переменными среды. Значения, принимаемые этими переменными формируются при
загрузке Windows, регистрации пользователя в системе, старте или завершении
некоторых приложений, и, кроме того, могут быть заданы с помощью специальной
команды
SET переменная = значение
SETX переменная = значение
Первая присваивает значение переменной, действующее до завершения текущей сессии командной строки. Вторая – значение, действующее постоянно.
Как уже упоминалось выше, значение, присвоенное какой-либо переменной, доступно для обработки в командной строке или в командном файле с использованием ее имени, заключенного в знаки процента – % . Системные переменные позволяют получить сведения об аппаратной и программной среде, в которой выполняется командный файл, что позволяет реализовать его исполнение на разных компьютерах, независимо от их конкретной конфигурации и пользовательских настроек. Например, в командном файле используется вывод содержимого системного каталога C:Windows :
DIR C:Windows
Алгоритм, реализуемый данным командным файлом, будет прекрасно выполняться до тех пор пока не встретится компьютер с Windows установленной не на диск C:, а например, на D:. Чтобы этого не происходило, желательно использовать системную переменную WINDIR, принимающую значение пути системного каталога:
На практике, с помощью команды SET обычно задается и модифицируется путь поиска исполняемых программ
– переменная окружения PATH.
SET PATH=C:Windows; C:windowssystem32
Данная команда определяет, что поиск исполняемых файлов будет выполняться в
каталоге C:Windows и, если результат неуспешен, в
C:windowssystem32
При необходимости выполнить программу, например, myedit.exe, размещенную в
каталоге C:NewProgs необходимо либо указать полный путь исполняемого файла, либо сделать текущим каталогом каталог с программой и использовать только его имя. Если в командной строке не задан полный путь, а только имя
исполняемого файла – myedit.exe
то сначала будет выполняться поиск файла myedit.exe в текущем каталоге, и если
он не будет найден – в каталогах, список которых определяется значением переменной
PATH. Символ ; является разделителем элементов в списке путей поиска.
Если в приведенном примере, текущим каталогом не является
C:NewProgs, и в остальных каталогах, заданных значением переменной
PATH, нет исполняемого файла myedit.exe, то попытка его запуска
завершится ошибкой. Однако, если модифицировать значение переменной PATH, добавив в нее требующийся каталог, то указание полного пути исполняемого файла становится необязательным.
Команда
изменит текущее значение PATH,
добавив каталог C:NewProgs в начало списка. Для добавления каталога в конец списка используется несколько иная конструкция:
SET PATH=%path%; C:NewProgs
Выполнение команды SET без параметров позволяет получить текущие
значения переменных окружения:
NUMBER_OF_PROCESSORS=1 – количество процессоров
OS=Windows_NT- тип ОС
Path=C:WINDOWSsystem32; C:WINDOWS;C:Program FilesFar – путь поиска исполняемых файлов.
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE; .JS;.JSE;.WSF;.WSH – расширения для исполняемых файлов.
PROCESSOR_ARCHITECTURE=x86 – архитектура процессора.
PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 1, AuthenticAMD – идентификатор процессора.
PROCESSOR_LEVEL=6 – уровень (номер модели) процессора.
PROCESSOR_REVISION =0801 – версия процессора.
ProgramFiles=C:Program Files – путь к папке “Program Files”
SystemDrive=C: – буква системного диска.
SystemRoot= C:WINDOWS – каталог ОС Windows.
Значения некоторых переменных по команде SET не отображаются, хотя и присутствуют в системе. В основном, это переменные, принимаемые значения которых динамически изменяются:
%CD% – Принимает значение строки текущего каталога.
%DATE% – Принимает значение текущей даты.
%TIME% – Принимает значение текущего времени.
%RANDOM% – Принимает значение случайного десятичного числа в диапазоне 1 -32767.
%ERRORLEVEL% – Принимает текущее значение кода завершения задачи ERRORLEVEL
%CMDEXTVERSION% – Принимает значение версии командного процессора CMD.EXE для расширенной обработки команд.
%CMDCMDLINE% – Принимает значение строки, которая вызвала
командный процессор.
Значения, принимаемые переменными окружения, могут быть расширены с помощью
специального признака – символа ” ~ “, что позволяет получить их частичное
значение, или изменить его подменой какой-либо части. Практические примеры использования расширений переменных будут рассмотрены ниже.
Подробное описание команд с примерами их использования имеется в разделе Список команд CMD Windows.
Своя команда для создания новых файлов.
В составе операционной системы Windows нет специальной команды для создания нового файла, но без нее можно легко обойтись несколькими способами:
Копирование с клавиатуры в файл
COPY CON myfile.txt
При выполнении этой команды данные с клавиатуры (стандартное устройство CON – консоль) будут заноситься в файл myfile.txt текущего каталога. Нажатие клавиши F6 или комбинации CTRL-Z завершит вывод.
Комбинация перенаправления ввода и перенаправления вывода:
При выполнении этой команды, как и в первом случае, используется копирование
с консоли в файл, но вместо ручного ввода данных с клавиатуры используется ввод с
несуществующего файла (устройства) xyz. Система выдаст сообщение, о том, что такого
устройства или файла
не существует, но пустой файл myfile.txt будет успешно создан.
Обычно, для создания пустого файла используется команда копирования из фиктивного устройства nul в файл. Использование устройства nul позволяет обойти стандартные операции ввода-вывода, которые для него реально не выполняются. При выполнении копирования с фиктивного устройства в файл будет создан пустой файл без каких-либо сообщений об ошибке.
COPY NUL myfile.txt
При работе в командной строке часто приходится создавать новые пустые
файлы, поэтому, стоит подготовить свой командный файл (например, с
именем nf.bat),
а имя нового создаваемого файла передавать ему в качестве параметра при
запуске.
Для удобства использования, можно поместить этот командный файл в системный каталог
(например, в C:windowssystem32) или любой другой, существующий в путях
поиска, задаваемых значением переменной PATH). Теперь, в командной строке, находясь в любом каталоге можно одной командой создавать пустые файлы.
Возможность создания файлов в системных каталогах зависит от настроек безопасности системы и прав пользователя, в контексте учетной записи которого выполняется команда. Многие команды могут быть выполнены только пользователем с правами администратора.
Расширение командного файла (.bat) можно не набирать и команда еще больше упрощается:
В тексте командного файла присутствует проверка, задано ли имя
создаваемого файла в командной строке (if “%1%” EQU “” goto error), и если не
задано – выводится сообщение об ошибке и командный файл завершает
свою работу.
В плане совершенствования функционала, можно добавить в этот командный файл проверку
на существование файла с именем, указанным в командной строке и предупреждением пользователя о его возможной перезаписи.
Создание архива, имя которого содержит дату и время.
Решим следующую задачу – нужно создать архив файлов, находящихся в каталоге
C:Program FilesFAR. Имя архивного файла должно состоять из текущего времени
(часы.минуты.секунды – ЧЧ.ММ.СС.rar), и помещен он должен в новый каталог, имя которого должно состоять из текущей даты
(день.месяц.год – ДД.ММ.ГГГГ). Для архивирования будем использовать архиватор RAR.
Формат запуска для создания архива:
a – команда создания архива.
-r – ключ, определяющий архивирование подкаталогов (т.к. в исходной папке есть подкаталоги).
Таким образом, для решения задачи нужно правильно создать имена и пути для RAR. Для чего
воспользуемся следующими исходными данными:
Меню Пуск (сочетание клавиш)
Клик мышкой и сочетание клавиш в меню Пуск еще один способ запустить программу от имени администратора.
Выполнение приложений от имени Администратора без запроса UAC
Таким образом, возникает задача выполнения программ или командных файлов от имени администратора при включенном UAC, но без запроса на разрешение их запуска.
Одним из способов решения подобной задачи является использование специально подготовленной задачи стандартного Планировщика заданий Windows.
Необходимо создать задачу для запуска командного файлат с повышенными привилегиями.
Переходим в ”Панель управления” – ”Администрирование” – ”Планировщик заданий” – ”Библиотека планировщика заданий”, выбираем в меню ”Действия” – ”Создать простую задачу”.
С помощью мастера создания простой задачи, создаем задачу, например, с именем Admbat
В качестве триггера запуска можно выбрать режим ”Однократно” и установить дату начала выполнения задачи уже прошедшим днем, чтобы служба планировщика не могла выполнить ее запуск в ненужное нам время.
В качестве действия выбираем ”Запустить программу”
Ставим галочку на ”Открыть окно ”Свойства” для этой задачи после нажатия кнопки ”Готово” ”. В свойствах задачи включаем режим ”Выполнить с наивысшими правами”.
Если выбрать режим ”Выполнять для все пользователей”, то задача не будет открывать никаких окон в сеансе текущего пользователя, что не очень удобно в режиме тестирования командного файла.
В качестве теста можно использовать команду:
netstat –b – отобразить список соединений с именами создавших их программ. Параметр b требует административных привилегий. Содержимое командного файла:
Запрошенная операция требует повышения.
а затем, с помощью задачи Admbat планировщика заданий – с повышенными привилегиями, т.е. под учетной записью с правами администратора – на экран будет выведен список соединений с именами программ.
И выполнить задачу планировщика Admbat командой:
schtasks /run /tn Admbat
Задачу планировщика можно создать и из командной строки с помощью утилиты schtasks.exe и разрешить ее выполнение с правами администратора, задав параметр /RL HIGHEST
Естественно, данная команда должна выполняться в контексте учетной записи с правами администратора.
WHOAMI /PRIV – отобразить действующие привилегии текущего пользователя.
Так, например, удаленное выключение компьютера доступно только в контексте учетной записи администратора. В этом случае, в результатах вывода WHOAMI присутствует строка “SeRemoteShutdownPrivilege”. С помощью команды find ищем эту строку в результатах вывода команды whoami /priv и если она найдена (переменная ERRORLEVEL равна нулю) – командный файл выполняется с правами администратора. Например:
Можно создать командный файл, проверяющий наличие прав администратора, и при их отсутствии, выполняющий свой перезапуск с использованием повышения привилегий за счет задачи планировщика Admbat.
Дополнительная информация по теме:
Планировщик заданий Windows
Управление планировщиком заданий в командной строке Windows
Bat файл
В некоторых случая использовать предыдущие способы может быть неудобно, создадим bat файл с инструкциями по запуску программы.
WikipediaПакетный файл (англ. batch file) — текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла программа-интерпретатор (как правило, COMMAND.COM или cmd.exe) читает его строка за строкой и последовательно исполняет команды.
- Запустим стандартное приложение Блокнот (Notepad);
- Указываем необходимую последовательность команд;
- В меню Файл выбираем пункт Сохранить как ;
- В поле Имя файла указываем имя файла и дописываем расширение bat ;
- В поле Тип файла указываем Все файлы ;
- Нажимаем кнопку Сохранить .
Теперь запустить программу с правами администратора можно запустив созданный файл.
Лента Проводника
🔔 Если в меню папки не отображается Лента проводника, нажмите сочетание Ctrl+F1 .
- Выделите значок программы в Проводнике Windows;
- В меню папки откройте вкладку Средства работы с приложениями ;
- Выберите пункт Запустить от имени администратора .
Как заставить bat запускаться от имени админа?
Была поставлена задача, нужно что-бы при запуске батника менялись сетевые настройки, я сделал вот так, оно работает только если запускать от имени админа.
но его нужно запускать из под обычного пользователя, для этого создал еще один батник
получается что при исполнении второго батника, запускается первый от имени админа, но изменения в сетевые настройки он не вносит с комментарием
Для запрошенной операции требуется повышение прав (запустите с правами администратора).
так-же читал что эту проблему можно решить открытием учетки встроенного(скрытого) администратора, но это решение не годиться, так как выглядит совершенно не безопасно тем-более с доменными учетными записями.
С помощью runas привилегии повышаются действительно только для встроенного администратора. Ничего страшного в том, что бы его активизировать я не вижу. Хотите подстраховаться — смените ему имя. Конечно нужно назначит нормальный пароль. Но сохранять с помощью runas /savecred пароль администратора — это выстрел себе в ногу. С помощью этого сохраненного пароля и runas можно будет любую программу запускать с повышенными привилегиями из-под любого пользователя. Этим вы сделаете большую дыру в безопасности сети.
На самом деле не очень понятна цель этого мероприятия — вы меняете IP адрес. Зачем? Чувствую, что, то что вы хотите добиться, должно быть сделано по другому. Варианты: 1. Сделайте 2 IP на одном интерфейсе и пусть они всегда будут. 2. Организовать доступ в 172.16.11 подсеть через промежуточный шлюз, на котором в зависимости от некоторых условий можно разрешать доступ или нет. 3. Можно запускать netsh удаленно с админскими привилегиями, запускать, конечно должен админ, а не пользователь. Если у вас есть АД, то доменный админ может это делать, если АД нет, то на пользовательском компе нужно выставить ключ в реестре: reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f Этот ключ позволяет при сетевом доступе с админскими правами автоматически повышать привилегии. Локальных пользователей и их привилегии это не затрагивает.
Более конкретно можно будет сказать, если вы опишите цель смены IP.
Передача параметров командному файлу.
Очень полезной особенностью работы с командными файлами является
возможность получать значения параметров командной строки и использовать их
в операциях внутри самого командного файла.
params.bat FIRST second “two words”
Параметры командной строки, содержащие пробелы должны заключаться в двойные кавычки.
При обработке входных параметров необходимо знать, были ли они вообще заданы в командной строке. Для проверки наличия каких-либо входных параметров, передаваемых
командному файлу, можно проверить, является ли значение переменной %1
пустым, что можно сделать, заключив ее, например в двойные кавычки, и проверив полученный результат на наличие этих кавычек, следующих подряд:
REM пробел текст
Строки, начинающиеся с REM пробел, считаются комментариями и командным процессором игнорируются.
Свойства файла
Способ, как всегда запускать программу с правами администратора с помощью меню Свойства файла .
- Щелкните правой клавишей мыши на иконке программы;
- Выберите Свойства ;
- Установите галочку Запускать эту программу от имени администратора ;
- Нажмите ОК .
Эта настройка позволит постоянно запускать эту программу с повышенными правами только для этого пользователя. Если вы хотите разрешить запуск программы с правами администратора для всех пользователей компьютера, в предыдущем окне нажмите кнопку Изменить параметры для всех пользователей и установите галочку Запускать эту программу от имени администратора .
Команды CMD
Строки командных файлов могут содержать как команды самого
процессора команд CMD, так и имена исполняемых модулей (программ или командных файлов).
– исполняемый файл ping.exe с параметром yandex.ru. Расширение .exe можно не указывать, и данная команда может быть записана так:
Список стандартных команд можно получить, введя команду:
Справочную информацию по конкретной команде можно получить, указав ее название в качестве параметра команды HELP:
HELP Имя команды
В русифицированной версии Windows необходимо учитывать, что в среде командного процессора символы национального алфавита отображаются в DOS-кодировке, в соответствии с кодовой страницей (code page) 866. При необходимости, для переключения между кодовыми страницами Windows и DOS используется команда
CHCP номер страницы
– использовать кодовую страницу 866 (DOS)
– использовать кодовую страницу 1251 (WINDOWS)
Внешний вид окна CMD.EXE (консоли Windows) можно изменить с помощью команды
В качестве аргументов для команды используются 2 шестнадцатеричные цифры, задающие цвет фона и цвет символа.
– символы белого цвета на черном фоне (используется по умолчанию).
– черные символы на белом фоне.
– светло-желтые символы на черном фоне.
– подсказка для команды COLOR.
Присвоение съемному диску одной и той же буквы.
Задача заключается в том, чтобы съемный USB диск (флэш диск) был доступен
всегда под одной и той же буквой, независимо от того, на каком компьютере он
используется и каким образом он был подключен. Для ее решения воспользуемся уже упоминаемой выше командой SUBST, но реализуем присвоение новой буквы диску с
помощью подстановочного значения переменной %0, создаваемой
системой при каждом запуске командного файла.
Выберем для съемного диска желаемую букву, например – X.
Некоторые из переменных окружения, в том числе и переменная %0,
принимающая значение пути и имени выполняющегося командного файла, позволяют
при определенной модификации с использованием специального признака –
символа ” ~ “, получить ее частичное значение (расширение переменной).
Например, не полный путь
файла, а только его имя, или каталог расположения, или букву диска, с
которого он был запущен или еще около десятка различных элементов, связанных
с подстановочными значениями переменной %0.
Дополнительное представление о подстановочных значениях
переменной %0 можно получить из командного файла следующего
содержания:
Окно Поиск
- Нажмите сочетание Windows+S (или щелкните по кнопке Пуск правой клавишей мыши и выберите Поиск );
- Введите название нужной программы;
- В правой части окна щелкните пункт Запуск от имени администратора .
Как закодировать файл BAT, чтобы он всегда работал в режиме администратора?
У меня есть эта строка в моем файле BAT:
Я хотел бы выполнить это в режиме администратора. Как изменить код bat, чтобы запустить его от имени администратора?
Правильно ли это? Нужно ли ставить кавычки?
10 ответов
Я использую Ubuntu и Windows на одной машине, и у меня всегда есть проблема с неправильным временем загрузки в Windows, поэтому мне нравится выполнять w32tm /resync при запуске. Поэтому я пытаюсь поместить эту команду в файл .bat и поместить его в папку запуска, но эта команда требует прав.
Другой ответ требует, чтобы вы ввели пароль учетной записи администратора. Кроме того, запуск под учетной записью в группе администраторов-это не то же самое, что запуск от имени администратора см.: UAC в Википедии
Windows 7 инструкции
Чтобы работать от имени администратора, создайте ярлык для batch file.
- Щелкните правой кнопкой мыши batch file и нажмите кнопку Копировать
- Перейдите туда, где вам нужен ярлык
- Щелкните правой кнопкой мыши фон каталога
- Выберите Вставить Ярлык
Затем вы можете установить ярлык для запуска от имени администратора:
- Щелкните правой кнопкой мыши ярлык
- Выберите Свойства
- На вкладке Ярлык нажмите кнопку Дополнительно
- Нажмите кнопку OK, OK
Теперь, когда вы дважды щелкните ярлык, он предложит вам подтвердить UAC, а затем запустить его от имени администратора (что, как я уже сказал выше, отличается от запуска под учетной записью в группе администраторов)
Проверьте скриншот ниже
Примечание: когда вы делаете это для запуска от имени администратора, текущий каталог (путь) не будет таким же, как файл bat. Это может вызвать некоторые проблемы во многих случаях, когда файл bat ссылается на относительные файлы рядом с ним. Например, в моем Windows 7 вал Дир будет System32, а не из расположения бат-файл! Чтобы обойти его, вы должны использовать
для обеспечения шавка реж составляет при этом путь, по которому bat файл.
Вы используете runas для запуска программы от имени конкретного пользователя:
Просто добавьте это к вершине ваш файл bat :
У меня есть вопрос, как запустить файл .bat от имени администратора? Как запустить cmd от имени администратора в файле bat? Я должен выполнить команду на cmd: %windir%Microsoft.NETFramework2.0.50727aspnet_regiis.exe -px MyKey c:key.xml-pri Пожалуйста, помогите и получите любые советы или.
Если вы можете использовать стороннюю утилиту, вот утилита командной строки elevate .
Это описание использования:
Вы можете использовать команду nircmd.exe ‘ s elevate
NirCmd ссылка на команду-elevate
PS: я использую его на win 10, и он работает
Значок приложения
Как выполнить запуск программы от имени администратора однократно, с помощью значка программы (иконки):
- Щелкните правой клавишей мыши на иконке программы;
- Выберите Запуск от имени администратора .
Примеры командных файлов.
Использование утилит командной строки и командных файлов нередко позволяют
решить многие проблемы связанные с повседневной эксплуатацией компьютерной
техники. Большинство системных администраторов и грамотных пользователей
продолжают ими пользоваться, несмотря на то, что в Windows проявилось новое,
более мощное и современное средство управления системой – WMI
(Windows Management Instrumentation) и многофункциональная оболочка пользователя Power Shell. Очевидно, не в последнюю очередь, это
обусловлено простотой реализации и достаточной
эффективностью командной строки для решения повседневных задач обслуживания системы.
Ниже приведены простые
примеры с комментариями, которые демонстрируют некоторые возможности и
способы применения .cmd и .bat
Специальные символы CMD
Работа с командным процессором предполагает использование двух стандартных устройств – устройства ввода (клавиатура) и устройства вывода (дисплей). Однако, имеется возможность изменить стандартно используемые устройства ввода-вывода с помощью специальных символов – символов перенаправления
– перенаправление вывода
– перенаправление ввода
Для вывода справки не на экран а, например, в файл с именем help.txt, можно использовать следующую команду:
Простейший пример перенаправления ввода:
cmd.exe < commands.txt – командный процессор не будет ожидать ввода команд с клавиатуры, а считает их из файла commands.txt. Фактически, указанный текстовый файл в данном случае является командным файлом.
При запуске командного процессора можно указать конкретную команду в качестве аргумента командной строки:
cmd.exe /C HELP FOR – выполнить команду HELP FOR и завершиться (параметр командной строки или ключ /C)
cmd.exe /K HELP FOR – выполнить команду HELP FOR и перейти в режим ожидания дальнейшего ввода команд (ключ /K)
Подробную справку по использованию cmd.exe можно получить, введя в качестве аргумента ключ /?
& – одиночный амперсанд используется для разделения нескольких команд в одной командной строке.
команда1 & команда2 – выполняется первая команда, затем вторая команда.
&& – удвоенный амперсанд между двумя командами, означающий условное выполнение второй команды. Она будет выполнена, если код завершения (или код возврата) первой команды равен нулю, т.е. команда выполнена успешно. Успешность
выполнения команды определяется значением специальной переменной среды ERRORLEVEL.
команда1 && команда2 – выполняется команда1, а команда2 выполняется, только если первая была выполнена успешно.
Команду, следующую после знаков объединения, не нужно заключать в
двойные кавычки, иначе командный процессор удвоит их и сообщит об ошибке.
Выполнение командной строки
cmd.exe /C “HELP IF” & ”HELP IF”
Завершится выполнением первой команды и сообщением об ошибке для второй:
“”HELP” не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Как и в любом другом языке программирования, в сценариях CMD невозможно обойтись без переменных. Для получения их значения применяется специальный символ – знак процента % . Строка, заключенная в знаки процента интерпретируется как значение переменной, например:
Символ ^ , являющийся последним символом строки, используется как признак продолжения предыдущей. Это относится как к тексту, так и к командам.
Как сделать файл бат
Использование bat-файлов (иначе – «батник», «пакетный файл») часто может облегчить Вашу работу, например, автоматизировать установку программного обеспечения, по заранее заданным параметрам; синхронизация даты и времени; запуск последовательностей команд и прочее. Однако для использования подобных скриптов нужно уметь их создавать. По своей сути файлы с расширением .bat являются набором консольных команд, таких же, какие используются в командной строке.
В статье рассмотрены три метода создания .bat файлов:
- С помощью командной строки.
- С помощью программы «Блокнот».
- С помощью утилиты «Dr.Batcher».
Как сделать файл бат
- Создание пакетного файла с помощью командной строки
- Создание пакетного файла с помощью программы «Блокнот»
- Создание пакетного файла с помощью утилиты «Dr.Batcher»
- Заключение
Создание пакетного файла с помощью командной строки
Шаг 1. Для запуска командной строки в меню «Пуск» используйте диалог «Найти программы и файлы» Вы должны задать параметр поиска cmd и кликнуть левой кнопкой мыши по пиктограмме в разделе «Программы».
В параметре поиска вводим cmd и кликаем левой кнопкой мыши по пиктограмме в разделе «Программы»
Шаг 2. Для хранения написанных батников рекомендуется использовать отдельную директорию, поэтому выберите место на Вашем жестком диске и создайте специальную папку, путем ввода команды «MD D:Bat».
На заметку! Команда вводится без кавычек, пробел ставится только после использования MD. В описываемом случае папка с именем «Bat» будет создана на диске D. Командная строка нечувствительна к регистру, то есть результат выполнения «MD D:Bat», «md D:Bat» и «md d:Bat» будет одинаков.
Создаем специальную папку, путем ввода команды «MD D:Bat»
На заметку! В данном случае регистр важен при указании пути размещения, то есть папки «bat», «Bat» и «BAT» – три независимые и абсолютно разные директории. При указании на несуществующую папку, команда не будет выполнена. Учтите, сообщения об ошибке тоже не будет.
Шаг 4. Для изменения содержимого файла следует открыть место его хранения, вызвать контекстное меню и выбрать строку «Изменить».
Для изменения содержимого файла открываем место его хранения, вызываем контекстное меню и выбираем строку «Изменить»
Создание пакетного файла с помощью программы «Блокнот»
Шаг 1. Для запуска блокнота войдите в меню «Все программы», пункт «Стандартные» и щелкните по запускающей пиктограмме.
Запускаем программу «Блокнот»
Шаг 2. Укажите, какие команды должен выполнять bat файл.
Указываем, какие команды должен выполнять bat файл
Узнайте, как создать файл без больших познаний в программировании, из новой статьи — «Как создать файл bat».
В качестве примера предлагаем Вам использовать следующий код, выводящий изображение звезды:
mode con cols=32 lines=50
for %%i in (
Внимание! Код должен вводиться без кавычек. Всегда проверяйте синтаксис написания команд. Если Вы забудете поставить запятую в конце какой-либо строки, то при выполнении программы она сольется с последующей.
Шаг 3. Сохраните получившийся файл в нужную директорию. Для изменения разрешения используйте строку «Тип файла», в ней следует выбрать «Все файлы», а при вводе имени, после точки, укажите «bat».
Сохраняем получившийся файл в нужную директорию
Создание пакетного файла с помощью утилиты «Dr. Batcher»
Указанный программный продукт является платным, но предоставляет возможность использовать тестовую версию в течение 30 дней.
Шаг 2. В диалоговом окне отметьте «Empty Batch File» и нажмите «ОК».
Отмечаем «Empty Batch File» и нажимаем «ОК»
Шаг 3. Укажите, какие команды должен выполнять bat файл.
На заметку! В правом фрейме имеются ключевые команды, которые Вы можете использовать при написании кода. Достаточно выделить нужную и нажать на кнопку «Insert Command», что помогает сэкономить время при работе.
В правом фрейме имеются ключевые команды, которые можно использовать при написании кода
Шаг 4. Сохраните получившийся файл в нужную директорию.
Указанная утилита позволяет производить отладку программы «на лету»
Мы описали три способа создания файлов с расширением .bat. Два из указанных методов являются стандартными способами, доступными вместе с Windows, один требует установки дополнительного программного обеспечения. Оценка каждого из способов приведена в сводной таблице.
Видео — Создание Бат файла
Еще один способ запуска программы с повышенными правами — с помощью Microsoft PowerShell.
Простым способом запуска является запуск PowerShell от имени администратора и запуск необходимой программы. Но вы так же можете выполнить запуск из консоли PowerShell (с правами пользователя), используя команду start-process .
- Запустите PowerShell;
- Выполните команду start-process , указав полный путь до файла запускаемой программы;
- Введите пароль пользователя с административными правами.
start-process «C: otalcmdTOTALCMD.EXE» –verb runas
Переходы и метки.
В командных файлах можно использовать команды условного перехода,
меняющие логику их работы в зависимости от возникновения определенных условий.
В качестве примера создадим командный
файл, целью которого будет присвоение заранее определенной буквы для
съемных носителей.
Исходные данные: имеется 2 съемных диска, один из которых должен быть виден в проводнике как диск X: , а второй – как диск Y: независимо от того, в какой порт USB они подключены и какие буквы присвоены им операционной системой. Для назначения букв дискам можно воспользоваться командой SUBST.
Будем считать, что реальные диски могут быть подключены как F: или G:
Опознавание дисков будем выполнять по наличию файла с определенным именем
(лучше всего такой файл сделать скрытым в корневом каталоге съемного диска и назвать его как-нибудь необычно):
Flashd1.let – на первом диске
Flashd2.let – на втором
Таким образом, задача командного файла заключается в том, чтобы проверить
наличие на сменных дисках F: и G: файлов Flashd1.let
или Flashd2.let и, в зависимости от того, какой из них присутствует,
присвоить диску букву X: или Y:
Для поиска файла на диске воспользуемся командой :
IF EXIST имя_файла команда
В качестве команды, которая будет выполнена при удовлетворении условия используем , которая предназначена для сопоставления каталога и виртуального диска.
SUBST X: C: – – создать виртуальный диск
X:, содержимым которого будет корневой каталог диска C:
Для решения поставленной задачи, создаем командный файл, например с именем setletter.bat, следующего содержания:
В качестве метки используется строка символов, начинающаяся
с двоеточия. Сделаем изменения в нашем командном файле, чтобы не возникало
сообщений об ошибке:
При выполнении измененного таким образом командного файла, сообщение об
ошибке при выполнении SUBST исчезнет.
Конечно, данный пример очень примитивен, но главная его цель заключается не в написание оптимального командного сценария, а в демонстрации принципов использования меток и переходов. Во всех последующих примерах, насколько это возможно, используется именно такой подход – важна не оптимальность исходного текста, а его максимальная простота для понимания.
Одним из важнейших приемов при написании сложных командных файлов
является анализ успешности выполнения конкретной команды или программы.
Признаки ошибок при выполнении команд можно отслеживать, анализируя
специальную переменную ,
значение которой формируется при завершении работы большинства программ.
Обычно ERRORLEVEL равно нулю, если программа завершилась без ошибок и
единице – при возникновении ошибки. Могут быть и другие значения, если они
предусмотрены в выполняемой программе.
В качестве команды в строке командного файла можно использовать также
командный файл. Причем, для передачи с возвратом обратно к точке выполнения
вызывающего командного файла используется
команда CALL. Попробуйте создать командный файл test.bat, следующего содержания:
– приостановить выполнение командного файла до
нажатия любой клавиши.
Если же в файле test.bat убрать CALL, оставив “1.bat”, то , выполнится командный файл 1.bat, и возврат в test.bat выполняться не будет.
Вызываемый командный файл может создавать переменные и присваивать им
определенные значения, которые будут доступны для обработки в вызывающем
файле. Попробуйте изменить файл test.bat следующим образом:
Переменные вызываемого файла будут доступны в вызывающем файле.
Кстати, используя передачу управления командному файлу, можно организовать
его зацикливание. Попробуйте добавить в конец файла test.bat строку:
Выйти из зацикливания командного файла можно по нажатию комбинации
CTRL+Break.
Команда CALL может использоваться не только для вызова другого командного файла, но и для вызова внутренней подпрограммы. В этом случае в качестве аргумента используется не имя внешнего файла, а метка:
Меню Выполнить
Способ запуска программы с полными правами используя меню Выполнить .
- Нажмите сочетание клавиш Windows+R (или щелкните по кнопке Пуск правой клавишей мыши и выберите Выполнить );
- Введите имя команды или перетащите мышкой пиктограмму программы в окно ввода меню Выполнить ;
- Нажмите сочетание клавиш Ctrl+Shift+Enter .
🔔 Если у вас не получается перенести иконку программы в меню Выполнить :
- Нажмите и удерживайте кнопку Shift , щелкните по пиктограмме программы правой клавишей мыши;
- Выберите пункт Копировать как путь ;
- Выполните вставку из буфера обмена в окно Выполнить (нажмите комбинацию клавиш Ctrl+V ).
Решение
Нет, этот вариант не пойдёт. Необходимо именно через bat файл.
Добавлено через 7 минут Тема закрыта. Всему проблема кодировка. Консоль работает в кодировке DOS (codepage 866), а Блокнот Windows создает пакетный файл в кодировке WIN (codepage 1251). Данное решение подойдёт для любого bat файла, где используется кириллица. В первой строчке bat файла необходимо прописать chcp 1251.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Запуск программы от имени администратораДобрый день! Такая ситуация. Работаю на фирме, компов не мало и у всех НЕТУ прав администратора.
Запуск bat-файла от имени администратораДоброго времени суток. После долгих часов блужданий и поисков в тырнете, так ничего и не нашел. В.
Запуск программы от имени администратораПривет всем! Столкнулся с небольшой проблемой. Пишу прикладные программы на VB.NET и делаю для.