I have this line inside my BAT file:
"Example1Server.exe"
I would like to execute this in Administrator mode. How to modify the bat code to run this as admin?
Is this correct? Do I need to put the quotes?
runas /user:Administrator invis.vbs Example1Server.exe
asked Jul 25, 2011 at 2:51
karikarikarikari
6,53715 gold badges62 silver badges79 bronze badges
2
The other answer requires that you enter the Administrator account password. Also, running under an account in the Administrator Group is not the same as run as administrator see: UAC on Wikipedia
Windows 7 Instructions
In order to run as an Administrator, create a shortcut for the batch file.
- Right click the batch file and click copy
- Navigate to where you want the shortcut
- Right click the background of the directory
- Select Paste Shortcut
Then you can set the shortcut to run as administrator:
- Right click the shortcut
- Choose Properties
- In the Shortcut tab, click Advanced
- Select the checkbox «Run as administrator»
- Click OK, OK
Now when you double click the shortcut it will prompt you for UAC confirmation and then Run as administrator (which as I said above is different than running under an account in the Administrator Group)
Check the screenshot below
Note:
When you do so to Run As Administrator, the current directory (path) will not be same as the bat file. This can cause some problems in many cases that the bat file refer to relative files beside it. For example, in my Windows 7 the cur dir will be SYSTEM32 instead of bat file location!
To workaround it, you should use
cd "%~dp0"
or better
pushd "%~dp0"
to ensure cur dir is at the same path where the bat file is.
Danny Beckett
20.1k23 gold badges106 silver badges134 bronze badges
answered Dec 11, 2012 at 0:08
Ed GreavesEd Greaves
4,7472 gold badges21 silver badges19 bronze badges
11
You use runas
to launch a program as a specific user:
runas /user:Administrator Example1Server.exe
answered Jul 25, 2011 at 2:54
Kerrek SBKerrek SB
457k91 gold badges866 silver badges1074 bronze badges
7
Just add this to the top of your bat file:
set "params=%*"
cd /d "%~dp0" && ( if exist "%temp%getadmin.vbs" del "%temp%getadmin.vbs" ) && fsutil dirty query %systemdrive% 1>nul 2>nul || ( echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && %~s0 %params%", "", "runas", 1 >> "%temp%getadmin.vbs" && "%temp%getadmin.vbs" && exit /B )
It will elevate to admin and also stay in the correct directory. Tested on Windows 10.
answered Sep 26, 2018 at 12:24
SireSire
4,0324 gold badges38 silver badges73 bronze badges
9
If you can use a third party utility, here is an elevate
command line utility.
The source and binaries are available on GitHub.
This is the usage description:
Usage: Elevate [-?|-wait|-k] prog [args]
-? - Shows this help
-wait - Waits until prog terminates
-k - Starts the the %COMSPEC% environment variable value and
executes prog in it (CMD.EXE, 4NT.EXE, etc.)
prog - The program to execute
args - Optional command line arguments to prog
answered Mar 17, 2013 at 14:14
aphoriaaphoria
19.5k7 gold badges63 silver badges73 bronze badges
1
You can use nircmd.exe’s elevate command
NirCmd Command Reference — elevate
elevate [Program] {Command-Line Parameters}
For Windows Vista/7/2008 only: Run a program with administrator rights. When the [Program] contains one or more space characters, you must put it in quotes.
Examples:
elevate notepad.exe
elevate notepad.exe C:WindowsSystem32DriversetcHOSTS
elevate "c:program filesmy softwareabc.exe"
PS: I use it on win 10 and it works
answered May 16, 2017 at 12:25
Dheeraj BhaskarDheeraj Bhaskar
18.4k9 gold badges63 silver badges66 bronze badges
go get github.com/mattn/sudo
Then
sudo Example1Server.exe
answered Jun 30, 2017 at 9:26
mattnmattn
7,49329 silver badges54 bronze badges
convert your batch file into .exe with this tool: http://www.battoexeconverter.com/ then you can run it as administrator
answered Apr 5, 2013 at 14:56
xxedxxxxedxx
671 silver badge1 bronze badge
3
-
My experimenting indicates that the runas command must include the admin user’s domain (at least it does in my organization’s environmental setup):
runas /user:AdminDomainAdminUserName ExampleScript.bat
If you don’t already know the admin user’s domain, run an instance of Command Prompt as the admin user, and enter the following command:
echo %userdomain%
-
The answers provided by both Kerrek SB and Ed Greaves will execute the target file under the admin user but, if the file is a Command script (.bat file) or VB script (.vbs file) which attempts to operate on the normal-login user’s environment (such as changing registry entries), you may not get the desired results because the environment under which the script actually runs will be that of the admin user, not the normal-login user! For example, if the file is a script that operates on the registry’s HKEY_CURRENT_USER hive, the affected “current-user” will be the admin user, not the normal-login user.
answered May 29, 2019 at 15:47
pstratonpstraton
1,02014 silver badges9 bronze badges
When you use the /savecred
argument, it asks for the password once, and than never asks for it again. Even if you put it onto another program, it will not ask for the password. Example for your question:
runas /user:Administrator /savecred Example1Server.exe
answered Jul 28, 2017 at 21:16
AnonymousAnonymous
7314 gold badges15 silver badges35 bronze badges
0
I Tested @Sire’s answer on Windows 11, and it works like a charm. It’s worth mentioning that using cmd /k
— as @Sire has used — will keep the Administrator CMD open after it finishes running. Using cmd /c
instead will close the window when it’s over with the batch file.
set "params=%*"
cd /d "%~dp0" && ( if exist "%temp%getadmin.vbs" del "%temp%getadmin.vbs" ) && fsutil dirty query %systemdrive% 1>nul 2>nul || ( echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/c cd ""%~sdp0"" && %~s0 %params%", "", "runas", 1 >> "%temp%getadmin.vbs" && "%temp%getadmin.vbs" && exit /B )
answered Feb 10, 2022 at 12:17
AchillesAchilles
1,5441 gold badge28 silver badges35 bronze badges
1
I found there is possible to use powershell
. The powershell will show the default Windows UAC Dialog.
powershell Start -File Example1Server.exe -Verb RunAs
For execute BAT file with admin rights, the content of the BAT file can look as this:
@echo off
if "%1"=="runas" (
cd %~dp0
echo Hello from admin mode
pause
) else (
powershell Start -File "cmd '/K %~f0 runas'" -Verb RunAs
)
where:
%1
First input argument assigned to BAT file.%~f0
expands to full path to the executed BAT file%~dp0
expands to full directory path from where the BAT file is executedcmd -C <commands>
Execute command in terminal and close
answered Nov 1, 2021 at 8:25
Use the complete physical drivepath to your Target batch file in the shortcut Properties.
This does not work in Windows 10 if you use subst drives like I tried to do at first…
answered Dec 9, 2018 at 9:51
I have this line inside my BAT file:
"Example1Server.exe"
I would like to execute this in Administrator mode. How to modify the bat code to run this as admin?
Is this correct? Do I need to put the quotes?
runas /user:Administrator invis.vbs Example1Server.exe
asked Jul 25, 2011 at 2:51
karikarikarikari
6,53715 gold badges62 silver badges79 bronze badges
2
The other answer requires that you enter the Administrator account password. Also, running under an account in the Administrator Group is not the same as run as administrator see: UAC on Wikipedia
Windows 7 Instructions
In order to run as an Administrator, create a shortcut for the batch file.
- Right click the batch file and click copy
- Navigate to where you want the shortcut
- Right click the background of the directory
- Select Paste Shortcut
Then you can set the shortcut to run as administrator:
- Right click the shortcut
- Choose Properties
- In the Shortcut tab, click Advanced
- Select the checkbox «Run as administrator»
- Click OK, OK
Now when you double click the shortcut it will prompt you for UAC confirmation and then Run as administrator (which as I said above is different than running under an account in the Administrator Group)
Check the screenshot below
Note:
When you do so to Run As Administrator, the current directory (path) will not be same as the bat file. This can cause some problems in many cases that the bat file refer to relative files beside it. For example, in my Windows 7 the cur dir will be SYSTEM32 instead of bat file location!
To workaround it, you should use
cd "%~dp0"
or better
pushd "%~dp0"
to ensure cur dir is at the same path where the bat file is.
Danny Beckett
20.1k23 gold badges106 silver badges134 bronze badges
answered Dec 11, 2012 at 0:08
Ed GreavesEd Greaves
4,7472 gold badges21 silver badges19 bronze badges
11
You use runas
to launch a program as a specific user:
runas /user:Administrator Example1Server.exe
answered Jul 25, 2011 at 2:54
Kerrek SBKerrek SB
457k91 gold badges866 silver badges1074 bronze badges
7
Just add this to the top of your bat file:
set "params=%*"
cd /d "%~dp0" && ( if exist "%temp%getadmin.vbs" del "%temp%getadmin.vbs" ) && fsutil dirty query %systemdrive% 1>nul 2>nul || ( echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && %~s0 %params%", "", "runas", 1 >> "%temp%getadmin.vbs" && "%temp%getadmin.vbs" && exit /B )
It will elevate to admin and also stay in the correct directory. Tested on Windows 10.
answered Sep 26, 2018 at 12:24
SireSire
4,0324 gold badges38 silver badges73 bronze badges
9
If you can use a third party utility, here is an elevate
command line utility.
The source and binaries are available on GitHub.
This is the usage description:
Usage: Elevate [-?|-wait|-k] prog [args]
-? - Shows this help
-wait - Waits until prog terminates
-k - Starts the the %COMSPEC% environment variable value and
executes prog in it (CMD.EXE, 4NT.EXE, etc.)
prog - The program to execute
args - Optional command line arguments to prog
answered Mar 17, 2013 at 14:14
aphoriaaphoria
19.5k7 gold badges63 silver badges73 bronze badges
1
You can use nircmd.exe’s elevate command
NirCmd Command Reference — elevate
elevate [Program] {Command-Line Parameters}
For Windows Vista/7/2008 only: Run a program with administrator rights. When the [Program] contains one or more space characters, you must put it in quotes.
Examples:
elevate notepad.exe
elevate notepad.exe C:WindowsSystem32DriversetcHOSTS
elevate "c:program filesmy softwareabc.exe"
PS: I use it on win 10 and it works
answered May 16, 2017 at 12:25
Dheeraj BhaskarDheeraj Bhaskar
18.4k9 gold badges63 silver badges66 bronze badges
go get github.com/mattn/sudo
Then
sudo Example1Server.exe
answered Jun 30, 2017 at 9:26
mattnmattn
7,49329 silver badges54 bronze badges
convert your batch file into .exe with this tool: http://www.battoexeconverter.com/ then you can run it as administrator
answered Apr 5, 2013 at 14:56
xxedxxxxedxx
671 silver badge1 bronze badge
3
-
My experimenting indicates that the runas command must include the admin user’s domain (at least it does in my organization’s environmental setup):
runas /user:AdminDomainAdminUserName ExampleScript.bat
If you don’t already know the admin user’s domain, run an instance of Command Prompt as the admin user, and enter the following command:
echo %userdomain%
-
The answers provided by both Kerrek SB and Ed Greaves will execute the target file under the admin user but, if the file is a Command script (.bat file) or VB script (.vbs file) which attempts to operate on the normal-login user’s environment (such as changing registry entries), you may not get the desired results because the environment under which the script actually runs will be that of the admin user, not the normal-login user! For example, if the file is a script that operates on the registry’s HKEY_CURRENT_USER hive, the affected “current-user” will be the admin user, not the normal-login user.
answered May 29, 2019 at 15:47
pstratonpstraton
1,02014 silver badges9 bronze badges
When you use the /savecred
argument, it asks for the password once, and than never asks for it again. Even if you put it onto another program, it will not ask for the password. Example for your question:
runas /user:Administrator /savecred Example1Server.exe
answered Jul 28, 2017 at 21:16
AnonymousAnonymous
7314 gold badges15 silver badges35 bronze badges
0
I Tested @Sire’s answer on Windows 11, and it works like a charm. It’s worth mentioning that using cmd /k
— as @Sire has used — will keep the Administrator CMD open after it finishes running. Using cmd /c
instead will close the window when it’s over with the batch file.
set "params=%*"
cd /d "%~dp0" && ( if exist "%temp%getadmin.vbs" del "%temp%getadmin.vbs" ) && fsutil dirty query %systemdrive% 1>nul 2>nul || ( echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/c cd ""%~sdp0"" && %~s0 %params%", "", "runas", 1 >> "%temp%getadmin.vbs" && "%temp%getadmin.vbs" && exit /B )
answered Feb 10, 2022 at 12:17
AchillesAchilles
1,5441 gold badge28 silver badges35 bronze badges
1
I found there is possible to use powershell
. The powershell will show the default Windows UAC Dialog.
powershell Start -File Example1Server.exe -Verb RunAs
For execute BAT file with admin rights, the content of the BAT file can look as this:
@echo off
if "%1"=="runas" (
cd %~dp0
echo Hello from admin mode
pause
) else (
powershell Start -File "cmd '/K %~f0 runas'" -Verb RunAs
)
where:
%1
First input argument assigned to BAT file.%~f0
expands to full path to the executed BAT file%~dp0
expands to full directory path from where the BAT file is executedcmd -C <commands>
Execute command in terminal and close
answered Nov 1, 2021 at 8:25
Use the complete physical drivepath to your Target batch file in the shortcut Properties.
This does not work in Windows 10 if you use subst drives like I tried to do at first…
answered Dec 9, 2018 at 9:51
17954 / 7591 / 889 Регистрация: 25.12.2011 Сообщений: 11,321 Записей в блоге: 17 |
|
1 |
|
Запуск скрипта с повышенными привилегиями [руководство]20.10.2012, 17:40. Показов 311703. Ответов 74
Как запустить Batch-файл от имени Администратора (с повышенными правами). Вариант 1) Правая кнопка мыши по Batch-файлу «Запуск от имени администратора». Вариант 2) Сначала запустить командную строку (см. ниже), а в ней запустить на исполнение Batch-файл.
2 |
17954 / 7591 / 889 Регистрация: 25.12.2011 Сообщений: 11,321 Записей в блоге: 17 |
|
20.10.2012, 17:40 [ТС] |
2 |
Как запустить командную строку от имени Администратора (с повышенными правами). Способ 1: Пуск Способ 2: Войти в диспетчер задач (Ctrl + Shift + Esc) Способ 3. Запуск Batch-файла с повышенными правами: 1. Создайте Batch-файл. 2. Создайте ярлык к этому файлу. 3. Зайдите в свойства ярлыка, выберите вкладку «Ярлык», кнопка «Дополнительно», отметьте галкой «Запускать от имени администратора». Ярлык для запуска с запросом элевации прав готов. См. также другие способы в статьях от Вадима Стеркина:
Как открывать файлы из контекстного меню с полными правами
Так ли страшен контроль учетных записей?
3 |
Dragokas 17954 / 7591 / 889 Регистрация: 25.12.2011 Сообщений: 11,321 Записей в блоге: 17 |
||||||||||||||||||||
30.12.2012, 03:49 [ТС] |
3 |
|||||||||||||||||||
РешениеЭлевация прав запуска BAT-файла (отображается диалог контроля учетных записей UAC) В ОС Windows Vista/7/8… запись в системные папки (такие как Windows, System32, корень диска C: ), запись в реестр (например, в улей HKLM) требует прав администратора. Чтобы автоматически запускать батник с затребованием повышенных привилегий, 1) Через JScript-вставку без создания вспомогательного файла:
Из минусов обоих способов: батнику нельзя передавать аргументы запуска. 2) С использованием внешнего VBScript-сценария. Приведенный пример создает временный VBS-скрипт, через который методом ShellExecute, verb — runas запускает повторно BAT-файл с повышенными правами.
Комментарий к коду
3) С использованием mshta (способ от ComSpec):
Start Admin Console.cmd
15 |
17954 / 7591 / 889 Регистрация: 25.12.2011 Сообщений: 11,321 Записей в блоге: 17 |
|
23.02.2014, 21:18 [ТС] |
4 |
1 |
17954 / 7591 / 889 Регистрация: 25.12.2011 Сообщений: 11,321 Записей в блоге: 17 |
|
22.01.2015, 14:34 [ТС] |
5 |
2 |
17954 / 7591 / 889 Регистрация: 25.12.2011 Сообщений: 11,321 Записей в блоге: 17 |
|
20.07.2015, 22:49 [ТС] |
6 |
Как запустить VBScript, JScript с повышенными привилегиями? 1) Создайте к Вашему скрипту ярлык -> правой кнопкой мыши (ПКМ) по файлу скрипта -> «Создать ярлык». 2) В свойствах ярлыка (ПКМ по ярлыку) на вкладке «Ярлык»: Поставьте галочку «Запускать от имени администратора». Нажмите «ОК» в обоих окнах. Значок скрипта изменится на такой: Теперь можете запускать скрипт через этот ярлык (с повышенными привилегиями). Будет задан вопрос от «Контроля учетных записей», на который следует ответить утвердительно.
5 |
Pure Free Digital Ghost 4598 / 1910 / 370 Регистрация: 06.01.2013 Сообщений: 4,564 |
|
02.12.2016, 02:11 |
7 |
0 |
2 / 2 / 0 Регистрация: 09.12.2015 Сообщений: 26 |
|
23.04.2017, 14:37 |
8 |
а можно допилить этот код так чтобы после согласия на разрешение прав окно батника пропадало а не висело пока выполняется команда? Заранее спасибо! вот этот код: @set @x=0; /* :: pause :: Эту строку не трогать. Ниже ничего не писать!!!
0 |
17954 / 7591 / 889 Регистрация: 25.12.2011 Сообщений: 11,321 Записей в блоге: 17 |
|
23.04.2017, 15:09 [ТС] |
9 |
Любой батник «висит» пока в нём выполняется команда.
0 |
2 / 2 / 0 Регистрация: 09.12.2015 Сообщений: 26 |
|
23.04.2017, 16:54 |
10 |
вот вставляю этот код в батник и он перестает висеть (открывается на секунду и закрывается и команда продолжает работать без окна) вот код: но перестает запускаться от администратора( можно ка кто эти два кода подружить?
0 |
17954 / 7591 / 889 Регистрация: 25.12.2011 Сообщений: 11,321 Записей в блоге: 17 |
|
23.04.2017, 17:05 [ТС] |
11 |
можно ка кто эти два кода подружить? 2 кода? Я только один вижу, при чём непонятно откуда вы его взяли.
0 |
2 / 2 / 0 Регистрация: 09.12.2015 Сообщений: 26 |
|
23.04.2017, 17:24 |
12 |
второй код я писал в предыдущем сообщении) мне надо чтобы батник запускался от имени администратора и чтобы окно не висело во время выполнения команды (типо запустил батник он спросил права админа UACокно, я согласился и окно батника пропало а команда продолжалась бы) ну если бы подтверждение не выскакивало было бы еще лучше) Добавлено через 11 минут
0 |
2 / 2 / 0 Регистрация: 09.12.2015 Сообщений: 26 |
|
24.04.2017, 22:30 |
13 |
Люди добрые помогите пожалуйста!
0 |
2 / 2 / 0 Регистрация: 09.12.2015 Сообщений: 26 |
|
27.04.2017, 12:51 |
14 |
Возможно хоть вообще такое? Добавлено через 20 часов 36 минут может кто подскажет: Нужен батник чтобы он находил все файлы с расширением .xml на нескольких жестких дисках (допустим С и D) и переименовывал их в db.xml (при этом если в одной папке больше таких файлов чем один то добавлял им цифру типо db.xml db1.xml db2.xml … и т.д.) и чтобы окно невесело пока он ищет все эти файлы. Помогите пожалуйста.
0 |
4330 / 2120 / 661 Регистрация: 26.04.2015 Сообщений: 6,823 |
|
27.04.2017, 14:58 |
15 |
все это понятно, но
чтобы окно невесело вот и окну уже не вЕсело.
0 |
0 / 0 / 0 Регистрация: 18.04.2016 Сообщений: 7 |
|
04.05.2018, 17:20 |
16 |
Может кто знает как запустить bat/vbs не от имени админа, а с повышением прав? Возможно ли такое? Если скрипт пишет что то в HKEY_CURRENT_USER, то при запуске от имени админа все пишется в профиль админа, а нужно в пользовательский.
0 |
4330 / 2120 / 661 Регистрация: 26.04.2015 Сообщений: 6,823 |
|
04.05.2018, 17:36 |
17 |
все пишется в профиль админа а повернуть реку вспять религия не позволяет? Добавлено через 3 минуты
0 |
0 / 0 / 0 Регистрация: 18.04.2016 Сообщений: 7 |
|
04.05.2018, 17:49 |
18 |
а повернуть реку вспять религия не позволяет? Может тогда снизойдете до более подробных объяснений?
0 |
4330 / 2120 / 661 Регистрация: 26.04.2015 Сообщений: 6,823 |
|
04.05.2018, 18:56 |
19 |
GarfieldX,
0 |
0 / 0 / 0 Регистрация: 18.04.2016 Сообщений: 7 |
|
04.05.2018, 19:57 |
20 |
alpap,
0 |
Нередко советы по тем или иным действиям и исправлениям в Windows 10, 8 и Windows 7 включают в себя шаги наподобие: «создайте файл .bat со следующим содержимым и запустите его». Однако, начинающий пользователь не всегда знает, как это сделать и что собой представляет такой файл.
В этой инструкции подробно о том, как создать командный файл bat, запустить его и некоторая дополнительная информация, которая, возможно, окажется полезной в контексте рассматриваемой темы.
Создание .bat файла с помощью блокнота
Первый и самый простой способ создать bat файл — использовать стандартную программу «Блокнот», присутствующую во всех актуальных версиях Windows.
Шаги по созданию будут следующими
- Запустите Блокнот (находится в Программы — Стандартные, в Windows 10 быстрее запустить через поиск в панели задач, если блокнота нет в меню «Пуск», запустить его можно из C:Windowsnotepad.exe).
- Введите в блокнот код вашего bat файла (например, скопируйте откуда-то, либо напишите свой, о некоторых командах — далее в инструкции).
- В меню блокнота выберите «Файл» — «Сохранить как», выберите место сохранение файла, укажите имя файла с расширением .bat и, обязательно, в поле «Тип файла» установите «Все файлы».
- Нажмите кнопку «Сохранить».
Примечание: если файл не сохраняется в указанное расположение, например, на диск C, с сообщение «У вас нет разрешения на сохранение файлов в этом месте», сохраните его в папку «Документы» или на рабочий стол, а затем скопируйте в нужное расположение (причина проблемы в том, что в Windows 10 для записи в некоторые папки нужны права администратора, а поскольку блокнот не был запущен от имени администратора, он не может сохранить файл в указанную папку).
Ваш файл .bat готов: если его запустить, будут автоматически выполнены все перечисленные в файле команды (при условии отсутствия ошибок и необходимости прав администратора: в некоторых случаях может потребоваться запускать файл bat от имени администратора: правый клик по файлу .bat — запустить от имени администратора в контекстном меню).
Примечание: в дальнейшем, если вы захотите отредактировать созданный файл, просто нажмите по нему правой кнопкой мыши и выберите «Изменить».
Существуют и другие способы сделать bat файл, но все они сводятся к написанию команд по одной команде в строке в текстовый файл в любом текстовом редакторе (без форматирования), который затем сохраняется с расширением .bat (например, в Windows XP и 32-битной Windows 7 вы даже можете создать файл .bat в командной строке с помощью текстового редактора edit).
Если у вас включено отображение расширений файлов (изменяется в панель управления — параметры проводника — вид — скрывать расширения зарегистрированных типов файлов), то вы можете просто создать файл .txt, затем переименовать файл, установив расширение .bat.
Запуск программ в файле bat и другие базовые команды
В командном файле вы можете запускать любые программы и команды из этого списка: https://technet.microsoft.com/ru-ru/library/cc772390(v=ws.10).aspx (правда, некоторые из указанных могут отсутствовать в Windows 8 и Windows 10). Далее — лишь некоторые базовые сведения для начинающих пользователей.
Чаще всего бывают следующие задачи: запуск программы или нескольких программ из .bat файла, запуск какой-то функции (например, очистка буфера обмена, раздача Wi-Fi с ноутбука, выключение компьютера по таймеру).
Для запуска программы или программ используйте команду:
start "" путь_к_программе
Если путь содержит пробелы, возьмите весь путь в двойные кавычки, например:
start "" "C:Program Filesprogram.exe"
После пути к программе можно также указать параметры, с которыми она должна запускаться, например (аналогично, если параметры запуска содержат пробелы, возьмите их в кавычки):
start "" c:windowsnotepad.exe file.txt
Примечание: в двойных кавычках после start по спецификациям должно указываться имя командного файла, отображаемое в заголовке командной строки. Это необязательный параметр, но при отсутствии этих кавычек выполнение bat файлов, содержащих кавычки в путях и параметрах может пойти неожиданным образом.
Еще одна полезная возможность — запуск другого bat файла из текущего файла, сделать это можно с помощью команды call:
call путь_к_файлу_bat параметры
Переданные параметры при запуске можно прочитать внутри другого bat файла, например, мы вызываем файл с параметрами:
call file2.bat параметр1 параметр2 параметр3
В file2.bat можно прочесть эти параметры и использовать в качестве путей, параметров для запуска других программ таким образом:
echo %1 echo %2 echo %3 pause
Т.е. для каждого параметра мы используем его порядковый номер со знаком процента. Результатом в приведенном примере будет вывод в окно команд всех переданных параметров (команда echo используется для вывода текста в окно консоли).
По умолчанию, окно команд закрывается сразу после выполнения всех команд. Если нужно прочитать информацию внутри окна, используйте команду pause — она остановит выполнение команд (или закрытие окна) до нажатия любой клавиши в консоли со стороны пользователя.
Иногда, перед выполнением очередной команды нужно подождать некоторое время (например, до полного запуска первой программы). Для этого можно использовать команду:
timeout /t время_в_секундах
При желании, вы можете запустить программу в свернутом виде или развернутом видео с помощью параметров MIN и MAX перед указанием самой программы, например:
start "" /MIN c:windowsnotepad.exe
Для закрытия окна команд после выполнения всех команд (хотя, обычно оно и так закрывается при использовании start для запуска), используйте команду exit в последней строке. В случае, если консоль все равно не закрывается после запуска программы, попробуйте использовать такую команду:
cmd /c start /b "" путь_к_программе параметры
Примечание: в данном команде, если пути к программе или параметры содержат пробелы, могут быть проблемы с запуском, которые можно решить так:
cmd /c start "" /d "путь_к_папке_с_пробелами" /b имя_файла_программы "параметры_с_пробелами"
Как уже было отмечено, это лишь очень базовые сведение о наиболее часто используемых командах в bat файлах. При необходимости выполнить дополнительные задачи, попробуйте найти нужную информацию в интернете (поищите, например, «сделать что-то в командной строке» и используйте эти же команды в файле .bat) или задайте вопрос в комментариях, я постараюсь помочь.
Рассмотрим несколько способов запустить программу от имени администратора в Windows 10, для исправления ошибок: «CreateProcess сбой, код 740«, «Запрошенная операция требует повышения«, «Отказано в доступе» и др., возникающих при запуске программ с ограниченными правами (пользователь, гость).
По умолчанию программы и игры в Windows 10 запускаются без прав администратора, чтобы предотвратить несанкционированные изменения в вашей системе. Но частый случай, когда для корректной работы программы требуются запуск с повышенными правами (администратор), для правильной работы или выполнения определенных команд.
⚠️ Внимание: для запуска программы с повышенными правами, вам потребуется знать пароль администратора!
Содержание
- Значок приложения
- Свойства файла
- Меню Пуск (контекстное меню)
- Меню Пуск (сочетание клавиш)
- Меню Выполнить
- Лента Проводника
- Окно Поиск
- Командная строка (CMD)
- PowerShell
- BAT файл
Статья на других языках:
🇺🇸 — How To Run Program As Administrator
🇪🇸 — Cómo ejecutar programa como administrador
🇫🇷 — Comment exécuter un programme en tant qu’administrateur
🇩🇪 — So führen Sie ein Programm als Administrator aus
🇳🇱 — Hoe Programma als administrator uitvoeren
🧐 Это может быть интересно:
1️⃣ 8 способов запустить командную строку от имени администратора
2️⃣ 7 способов запустить PowerShell от имени администратора
Значок приложения
Как выполнить запуск программы от имени администратора однократно, с помощью значка программы (иконки):
- Щелкните правой клавишей мыши на иконке программы;
- Выберите Запуск от имени администратора.
Свойства файла
Способ, всегда запускать программу с правами администратора с помощью меню Свойства файла.
- Щелкните правой клавишей мыши на иконке программы;
- Выберите Свойства;
- Откройте вкладку Совместимость;
- Установите галочку Запускать эту программу от имени администратора;
- Нажмите ОК.
Эта настройка позволит постоянно запускать эту программу с повышенными правами только для этого пользователя. Если вы хотите разрешить запуск программы с правами администратора для всех пользователей компьютера, в предыдущем окне нажмите кнопку Изменить параметры для всех пользователей и установите галочку Запускать эту программу от имени администратора.
Запуск программы с повышенными правами используя контекстное меню, в меню Пуск.
- Откройте меню Пуск (Ctrl+ESC);
- Найдите значок программы в списке Все программы;
- Щелкните правой клавишей мыши по значку программы, выберите: Дополнительно -> Запуск от имени администратора.
Этим же способом можно запускать и Плитки приложений в Windows 10, 8.
Клик мышкой и сочетание клавиш в меню Пуск еще один способ запустить программу от имени администратора.
- Откройте меню Пуск (Ctrl+ESC);
- Найдите значок программы в списке Все программы;
- Удерживая нажатыми клавиши Ctrl+Shift щелкните по значку программы.
Способ запуска программы с полными правами используя меню Выполнить.
- Нажмите сочетание клавиш Windows+R (или щелкните по кнопке Пуск правой клавишей мыши и выберите Выполнить);
- Введите имя команды или перетащите мышкой пиктограмму программы в окно ввода меню Выполнить;
- Нажмите сочетание клавиш Ctrl+Shift+Enter.
⭕ Если у вас не получается перенести иконку программы в меню Выполнить:
- Нажмите и удерживайте кнопку Shift, щелкните по пиктограмме программы правой клавишей мыши;
- Выберите пункт Копировать как путь;
- Выполните вставку из буфера обмена в окно Выполнить (нажмите комбинацию клавиш Ctrl+V).
Лента Проводника
Несложный способ запуска любой программы от имени администратора использование ленты проводника Windows 10.
🔔 Если в меню папки не отображается Лента проводника, нажмите сочетание Ctrl+F1.
- Выделите значок программы в Проводнике Windows;
- В меню папки откройте вкладку Средства работы с приложениями;
- Выберите пункт Запустить от имени администратора.
Окно Поиск
Запустить программу с правами администратора так же можно используя Поиск Windows 10.
- Нажмите сочетание Windows+S (или щелкните по кнопке Пуск правой клавишей мыши и выберите Поиск);
- Введите название нужной программы;
- В правой части окна щелкните пункт Запуск от имени администратора.
Запуск программы от имени администратора используя командную строку (CMD)
Однократный способ запуска программы от имени администратора, используя командную строку Windows (CMD).
Простым способом запуска является запуск Командной строки от имени администратора, из которой выполняется запуск нужной программы. Но вы так же можете выполнить запуск из консоли CMD (с правами пользователя), используя команду runas.
- Запустите командную строку;
- Выполните команду runas, указав имя пользователя с административными правами и полный путь до файла запускаемой программы;
- Введите пароль пользователя с административными правами.
runas /user:MHelp.pro "C:totalcmdTOTALCMD.EXE"
Запуск программы от имени администратора используя PowerShell
Еще один способ запуска программы с повышенными правами — с помощью Microsoft PowerShell.
Простым способом запуска является запуск PowerShell от имени администратора и запуск необходимой программы. Но вы так же можете выполнить запуск из консоли PowerShell (с правами пользователя), используя команду start-process.
- Запустите PowerShell;
- Выполните команду start-process, указав полный путь до файла запускаемой программы;
- Введите пароль пользователя с административными правами.
start-process "C:totalcmdTOTALCMD.EXE" –verb runas
Bat файл
В некоторых случая использовать предыдущие способы может быть неудобно, создадим bat файл с инструкциями по запуску программы.
Пакетный файл (англ. batch file) — текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла программа-интерпретатор (как правило, COMMAND.COM или cmd.exe) читает его строка за строкой и последовательно исполняет команды.
Wikipedia
- Запустим стандартное приложение Блокнот (Notepad);
- Указываем необходимую последовательность команд;
- В меню Файл выбираем пункт Сохранить как;
- В поле Имя файла указываем имя файла и дописываем расширение bat;
- В поле Тип файла указываем Все файлы;
- Нажимаем кнопку Сохранить.
Теперь запустить программу с правами администратора можно запустив созданный файл.
Узнать больше команд которые можно использовать в bat файлах — перейти.
🟢 Как запустить программу от имени администратора обсуждалось в этой статье. Я надеюсь, что теперь знаете как исправить ошибку 740 или «Запрошенная операция требует повышения» запустив программу с повышенными правами, удобным способом. Однако, если вы столкнетесь с каким-то проблемами при настройке, не стесняйтесь написать в комментариях. Я постараюсь помочь.
Содержание:
- 1 Как создать файл с расширением BAT
- 2 Основные команды, синтаксис и примеры использования батников
- 3 Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat
Использование графического интерфейса в операционных системах сегодня представляется чем-то само собой разумеющимся и совершенно естественным, но так было не всегда. Первая операционная система MS DOS, разработанная компанией Microsoft, не имела GUI, а управление выполнялось посредством ввода текстовых команд. С тех пор минуло без малого 40 лет, однако скриптовый язык командной строки по-прежнему пользуется популярностью, причём не только в среде разработчиков.
Командная строка не столь удобна, зато с её помощью можно выполнять недоступны из GUI операции. С другой стороны, запускать каждый раз консоль, вводить в неё одну за другой команды – всё это сильно замедляет работу. Впрочем, можно существенно упростить задачу, создав бат-файл или попросту батник – текстовый файл с расширением BAT, содержащий список инструкций, обрабатываемых командным интерпретатором CMD. Используются такие файлы для автоматизации разных задач, например, для удаления временных файлов по расписанию или запуска программ.
Итак, как создать bat-файл в Windows 7/10? Очень просто. Для этого понадобится любой текстовый редактор и знание основ командной строки. Можно использовать Блокнот, а ещё лучше Notepad++, так как последний имеет подсветку синтаксиса. Создайте в редакторе новый файл, в меню «Файл» выберите «Сохранить как», дайте будущему скрипту имя, а в выпадающем списке «Тип файла» выберите «Batch file (*bat; *cmd; *nt)».
Если для создания bat-файла захотите использовать Блокнот, расширение нужно присвоить вручную, а в списке «Тип файла» выбрать «Все файлы».
Как видите, создать файл с расширением bat не составляет сложности, есть тут, однако, свои тонкости. В командных файлах нельзя использовать перенос строк, кодировка bat-файла должна быть выставлена UTF-8, если в теле скрипта используется кириллица, кодировку нужно изменить, вставив в положенном месте команду chcp 1251.
Вместо расширения BAT можно использовать CMD, результат выполнения скрипта будет точно таким же.
Основные команды, синтаксис и примеры использования батников
Как сделать bat-файл вы знаете, теперь настала пора самого интересного, а именно синтаксиса языка интерпретатора CMD. Понятно, пустой батник работать не будет, он даже не запустится при двойном по нему клике. Чтобы скрипт сработал, в нём должна быть прописана хотя бы одна команда. Для наглядного примера посмотрим, как написать bat-файл для запуска программ. Допустим, приступая к работе, вы каждый раз запускаете три программы – Chrome, Firefox и VLC. Упростим задачу, создав скрипт, который будет сам запускать эти программы с интервалом в пять секунд.
Открываем пустой батник и вставляем в него такие команды:
start "" "C:/Program Files/Google/Chrome/Application/chrome.exe" timeout /t 05 start "" "C:/Program Files/Mozilla Firefox/firefox.exe" timeout /t 05 start "" "C:/Program Files/VideoLAN/VLC/vlc.exe"
Команда start запускает исполняемый файл нужной программы, а команда timeout /t задаёт интервал между запусками. Обратите внимание на расположение кавычек – в них берутся пути, в которых имеются пробелы. Также если в пути есть кириллические символы, в начало скрипта следует вставить изменяющую кодировку команду chcp 1251, в противном случае интерпретатор не сможет правильно прочитать путь.
При запуске скрипта будет последовательно открыто четыре окна консоли, это нормальное явление, по выполнении команд все они автоматически закроются, впрочем, можно сделать так, чтобы открывалось только первое окно. Для этого код запуска приложения следует изменить следующим образом:
start /b "" "путь"
Может также статься, что в определённый момент потребуется приостановить выполнение скрипта, чтобы пользователь сам смог решить, выполнять ли все остальные команды или нет. Для этого существует команда pause. Попробуйте заменить ею timeout и увидите, что получится.
start /b "" "путь" pause
Рассмотрим ещё один пример команд для bat файла. Напишем скрипт, который будет в одном случае выключать компьютер, а в другом – перезагружать его. Для этих целей мы будем использовать команду shutdown с параметрами /s, /r и /t. При желании можно добавить в батник запрос на выполнение действия, вот так:
@echo off chcp 1251 echo "Вы действительно хотите выключить компьютер?" pause shutdown /s /t 0
Поясняем. Первая команда скрывает текст самих команд, вторая – устанавливает кириллическую кодировку, третья – выводит сообщение для пользователя, четвертая – устанавливает паузу, пятая – выключает, а с ключом /r вместо /s перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.
Если вместо русского текста при выполнении команды вы увидите крякозябры, попробуйте преобразовать файл скрипта в ANSI.
Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка data в корне диска D, содержимое которой нужно очистить одним махом. Открываем батник и вставляем в него такую команду:
del /A /F /Q "D:/data"
А можно и так:
forfiles /p "D:/data" /s /m *.* /c "cmd /c Del @path"
В отличие от первой, вторая команда удаляет файлы рекурсивно, то есть в папке data будут удалены все файлы плюс те, которые лежат во вложенных каталогах.
А вот ещё один полезный пример. Напишем скрипт, который будет создавать резервную копию содержимого одной папки и сохранять данные в другую. За копирование отвечает команда robocopy:
robocopy C:/data D:/backup /e pause
Запустив такой батник на исполнение, вы скопируете все содержимое папки data в папку backup, включая вложенные каталоги, пустые и с файлами. К слову, команда robocopy имеет много параметров, позволяющих очень гибко настраивать параметры копирования.
Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat
Теперь вы знаете как создавать батники и имеете некое общее представление о языке интерпретатора CMD. Это были основы, теперь пришла пора познакомиться с некоторыми полезными особенностями работы с bat-файлами. Известно, что для выполнения некоторых действий программам нужны права администратора. Понадобиться они могут и батникам. Самый очевидный способ запустить скрипт от имени администратора, это кликнуть по нему правой кнопкой мыши и выбрать в контекстном меню соответствующую опцию.
Кроме того, можно сделать так, что конкретный батник будет запускаться с повышенными привилегиями всегда. Для этого необходимо создать на такой скрипт обычный ярлык, открыть его свойства, нажать кнопку «Дополнительно» и отметить в открывшемся окошке галочкой пункт «Запуск от имени администратора». Этот способ хорош ещё тем, что позволяет выбрать для ярлыка любой значок, тогда как файл с расширением BAT или CMD всегда будет иметь невзрачный вид.
Скрипты, как и все приложения, можно запускать по расписанию. Команда timeout /t здесь не совсем уместна, для отложенного запуска лучше всего использовать встроенный «Планировщик задач» Windows. Здесь всё просто. Открываем командой taskschd.msc Планировщик, определяемся с триггером, действие выбираем «Запустить программу» и указываем путь к bat-файлу. Вот и всё, скрипт будет запущен в положенное время.
И напоследок ещё один интересный момент. Когда вы запускаете bat-файл, на экране появляется, пусть даже на какую-то долю секунды, окно командной строки. А нельзя ли сделать так, чтобы скрипт выполнялся в скрытом режиме? Можно, причём несколькими способами. Самый простой заключается в следующем. Создаём на bat-файл ярлык, открываем его свойства и в меню «Окно» выбираем «Свёрнутое в значок». После этого единственным видимым признаком запуска скрипта будет появление значка CMD на панели задач, окон же при этом открываться не будет.
Если вы желаете полностью скрыть выполнение скрипта, можете воспользоваться «костылем» – скриптом VВS, который будет запускать ваш батник в скрытом режиме. Текст скрипта приведен ниже, сохраните его в файл hidden.vbs, предварительно заменив путь во второй строчке кода D:/sсript.bat путём к вашему батнику.
Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "D:script.bat" & Chr(34), 0 Set WshShell = Nothing
Есть также и другие варианты, например, использование утилиты Hidden Start, позволяющей запускать исполняемые и пакетные файлы в скрытом режиме, в том числе без приглашения UAC.
А на этом пока всё. Информацию касательно создания скриптов BAT без труда можно найти в интернете. Неплохо также ознакомиться с учебником Уильяма Станека «Командная строка Microsoft Windows». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.