Bat с правами администратора windows 10

Запуск скрипта с повышенными привилегиями [руководство] CMD/BAT Решение и ответ на вопрос 965202

Эксперт WindowsАвтор FAQ

17953 / 7590 / 889

Регистрация: 25.12.2011

Сообщений: 11,320

Записей в блоге: 17

1

Запуск скрипта с повышенными привилегиями [руководство]

20.10.2012, 17:40. Показов 311544. Ответов 74


Как запустить Batch-файл от имени Администратора (с повышенными правами).

Вариант 1) Правая кнопка мыши по Batch-файлу «Запуск от имени администратора».

Запуск скрипта с повышенными привилегиями [руководство]

Вариант 2) Сначала запустить командную строку (см. ниже), а в ней запустить на исполнение Batch-файл.



2



Эксперт WindowsАвтор FAQ

17953 / 7590 / 889

Регистрация: 25.12.2011

Сообщений: 11,320

Записей в блоге: 17

20.10.2012, 17:40

 [ТС]

2

Как запустить командную строку от имени Администратора (с повышенными правами).

Способ 1:

Пуск
В окно поиска ввести CMD
Нажать Ctrl + Shift + Enter.

Способ 2:

Войти в диспетчер задач (Ctrl + Shift + Esc)
Вкладка «Процессы», кнопка «Отображать процессы всех пользователей».
Файл, Ctrl + Клик ЛКМ (левая кнопка мыши) по пункту «Новая задача (Выполнить …)».

Способ 3. Запуск Batch-файла с повышенными правами:

1. Создайте Batch-файл.

2. Создайте ярлык к этому файлу.

3. Зайдите в свойства ярлыка, выберите вкладку «Ярлык», кнопка «Дополнительно», отметьте галкой «Запускать от имени администратора».

Ярлык для запуска с запросом элевации прав готов.

См. также другие способы в статьях от Вадима Стеркина:
Как открыть командную строку от имени администратора в нужной папке

  • Открытие командной строки с правами администратора в нужной папке
  • Добавление соответствующего пункта контекстного меню с помощью установщика CmdHereAsAdmin.inf (программа PowerToy).
  • Рассматриваются Windows 7 и 8.

Как открывать файлы из контекстного меню с полными правами

  • Как открывать файлы из контекстного меню с полными правами
  • Повышение прав из раздела реестра “runas”
  • Повышение прав сторонними средствами
  • Тонкости, которые нужно учитывать, при работе с UAC
  • Практика: создание архива с полными правами из контекстного меню

Так ли страшен контроль учетных записей?

  • С какими правами работать?
  • Назначение контроля учетных записей
  • Администратор или пользователь?
  • Повышение прав с запросом UAC и без него
  • Современные программы и старые приложения
  • Виртуализация файлов и реестра
  • Использование сторонних утилит для повышения прав
  • Запуск программ без запроса UAC



3



Dragokas

Эксперт WindowsАвтор FAQ

17953 / 7590 / 889

Регистрация: 25.12.2011

Сообщений: 11,320

Записей в блоге: 17

30.12.2012, 03:49

 [ТС]

3

Лучший ответ Сообщение было отмечено как решение

Решение

Элевация прав запуска BAT-файла (отображается диалог контроля учетных записей UAC)
Код: Dragokas

В ОС Windows Vista/7/8… запись в системные папки (такие как Windows, System32, корень диска C: ), запись в реестр (например, в улей HKLM) требует прав администратора.

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

1) Через JScript-вставку без создания вспомогательного файла:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@set @x=0; /*
@echo off
ver |>NUL find /v "5." && if "%~1"=="" cscript.exe //nologo //e:jscript "%~f0"& exit /b
 
 
::
:: <--- Здесь код Вашей основной программы
::
 
 
pause
exit /B
 
:: Эту строку не трогать. Ниже ничего не писать!!!
*/new ActiveXObject('Shell.Application').ShellExecute (WScript.ScriptFullName,'Admin','','runas',1);

Из минусов обоих способов: батнику нельзя передавать аргументы запуска.

2) С использованием внешнего VBScript-сценария.

Приведенный пример создает временный VBS-скрипт, через который методом ShellExecute, verb — runas запускает повторно BAT-файл с повышенными правами.

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
ver |>NUL find /v "5." && if "%~1"=="" (
  Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"1","","runas",1 >"%~dp0Elevating.vbs"
  cscript.exe //nologo "%~dp0Elevating.vbs" "%~f0"& goto :eof
)
 
 
::
:: <--- Здесь код Вашей основной программы
::
 
 
pause

Комментарий к коду

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@echo off
 
:: Проверяем пустой ли первый аргумент
:: Это нужно, чтобы не запустить процесс элевации дважды.
:: Аргумент становится = 1, когда запускается команда [URL="http://ss64.com/vb/shellexecute.html"]ShellExecute[/URL]
 Имя скрипта, Аргумент, Рабочий каталог,Глагол,Режим отображения окна
if "%~1"=="" (
:: Сохраняем скрипт в файл Elevating.vbs, который находится в папке %~dp0, т.е. рядом с батником
::Параметры такие: 
::Имя скрипта - передано аргументом из cscript.exe (см.строку кода ниже)
::Аргументы: 1 - аргумент для бат-файла, чтобы не запустить элевацию дважды
::Рабочий каталог: "" - по умолчанию, текущий.
::Глагол (verb): runas - запуск от имени Администратора.
::Режим отображения окна: 1 - Normal (обычные режим. Окно отображается).
  Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"1","","runas",1 >"%~dp0Elevating.vbs"
:: Запускаем сервер сценариев без отображение сведений о нем (//nologo), запускаем Elevating.vbs с аргументом = имени бат-файла с путем
  cscript.exe //nologo "%~dp0Elevating.vbs" "%~dpnx0"& Goto :eof
)
 
:: Удаляем Elevating.vbs
>nul del "%~dp0Elevating.vbs"
 
 
::
:: <--- Здесь код Вашей основной программы
::
 
 
:: Переходим в каталог с бат-файлом
:: При выполнении повышения прав рабочий каталог бат-файла автоматически сменяется на %windir%system32
chdir /d "%~dp0"
 
::Пытаемся записать пустой файл в корень системного раздела
cd.>c:test.log
 
::Если записанный файл существует - пишем ОК, то есть повышение прав удалось успешно.
if exist c:test.log Echo OK.
 
 
pause

3) С использованием mshta (способ от ComSpec):

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
reg.exe query "HKUS-1-5-19">nul 2>&1
if %errorlevel% equ 1 goto UACPrompt
 
::
:: <--- Здесь код Вашей основной программы
::
 
pause>nul
exit /b
 
 
:UACPrompt
mshta "vbscript:CreateObject("Shell.Application").ShellExecute("%~fs0", "", "", "runas", 1) & Close()"
exit /b

Запуск скрипта с повышенными привилегиями [руководство]

Start Admin Console.cmd
Запускает новое окно консоли с повышенными правами и переходит в папку, где сам находится
Ожидает ввода команд от пользователя.

Bash
1
2
3
4
5
6
7
8
9
10
@set @x=0; new ActiveXObject('Shell.Application').ShellExecute ('cmd.exe','/K ' + '"' + WScript.ScriptFullName + '"' + ' Admin','','runas',1);/*
@echo off
if "%~1" neq "Admin" (
  cscript.exe //nologo //e:jscript "%~f0"
) else (
  cd /d "%~dp0"
)
exit /B
 
*/



15



Эксперт WindowsАвтор FAQ

17953 / 7590 / 889

Регистрация: 25.12.2011

Сообщений: 11,320

Записей в блоге: 17

23.02.2014, 21:18

 [ТС]

4



1



Эксперт WindowsАвтор FAQ

17953 / 7590 / 889

Регистрация: 25.12.2011

Сообщений: 11,320

Записей в блоге: 17

22.01.2015, 14:34

 [ТС]

5



2



Эксперт WindowsАвтор FAQ

17953 / 7590 / 889

Регистрация: 25.12.2011

Сообщений: 11,320

Записей в блоге: 17

20.07.2015, 22:49

 [ТС]

6

Как запустить VBScript, JScript с повышенными привилегиями?

1) Создайте к Вашему скрипту ярлык -> правой кнопкой мыши (ПКМ) по файлу скрипта -> «Создать ярлык».

Название: 1.png
Просмотров: 5284

Размер: 30.9 Кб

2) В свойствах ярлыка (ПКМ по ярлыку)

Запуск скрипта с повышенными привилегиями [руководство]

на вкладке «Ярлык»:
— в поле «Объект» допишите слева слово WSCRIPT и знак пробела
— нажмите «Применить»
— нажмите «Дополнительно»

Запуск скрипта с повышенными привилегиями [руководство]

Поставьте галочку «Запускать от имени администратора».

Запуск скрипта с повышенными привилегиями [руководство]

Нажмите «ОК» в обоих окнах.

Значок скрипта изменится на такой:

Название: 5.png
Просмотров: 5284

Размер: 13.6 Кб

Теперь можете запускать скрипт через этот ярлык (с повышенными привилегиями).

Будет задан вопрос от «Контроля учетных записей», на который следует ответить утвердительно.

Запуск скрипта с повышенными привилегиями [руководство]



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; /*
@echo off
ver |>NUL find /v «5.» && if «%~1″==»» cscript.exe //nologo //e:jscript «%~f0″& exit /b

::
:: <— Здесь код Вашей основной программы
::

pause
exit /B

:: Эту строку не трогать. Ниже ничего не писать!!!
*/new ActiveXObject(‘Shell.Application’).ShellExecute (WScript.ScriptFullName,’Admin’,»,’runas’,1);



0



Эксперт WindowsАвтор FAQ

17953 / 7590 / 889

Регистрация: 25.12.2011

Сообщений: 11,320

Записей в блоге: 17

23.04.2017, 15:09

 [ТС]

9

Любой батник «висит» пока в нём выполняется команда.
Вообще, тут ещё от команды зависит, если вызывается внешняя GUI-шная программа (т.е. оконная), то батнику ждать не обязательно.



0



2 / 2 / 0

Регистрация: 09.12.2015

Сообщений: 26

23.04.2017, 16:54

10

вот вставляю этот код в батник и он перестает висеть (открывается на секунду и закрывается и команда продолжает работать без окна)

вот код:
%1@mshta vbscript:Execute(«CreateObject(«»Wscript.Shell»»). Run «»»»»»%~f0″»»» :»»,0:Close()»)& exit/b

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

можно ка кто эти два кода подружить?



0



Эксперт WindowsАвтор FAQ

17953 / 7590 / 889

Регистрация: 25.12.2011

Сообщений: 11,320

Записей в блоге: 17

23.04.2017, 17:05

 [ТС]

11

Цитата
Сообщение от valli_vasia
Посмотреть сообщение

можно ка кто эти два кода подружить?

2 кода? Я только один вижу, при чём непонятно откуда вы его взяли.
При том так до сих пор и не понятно, что вы хотите сделать.



0



2 / 2 / 0

Регистрация: 09.12.2015

Сообщений: 26

23.04.2017, 17:24

12

второй код я писал в предыдущем сообщении)

мне надо чтобы батник запускался от имени администратора и чтобы окно не висело во время выполнения команды (типо запустил батник он спросил права админа UACокно, я согласился и окно батника пропало а команда продолжалась бы) ну если бы подтверждение не выскакивало было бы еще лучше)

Добавлено через 11 минут
Вообщем то суть такая: Нужен батник чтобы он находил все файлы с расширением .xml на нескольких жестких дисках (допустим С и D) и переименовывал их в db.xml (при этом если в одной папке больше таких файлов чем один то добавлял им цифру типо db.xml db1.xml db2.xml … и т.д.) Надо его запускать от админа так как диск С системный( и чтобы само окно невесело пока он ищет все эти файлы. Помогите разобраться пожалуйста.



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

все это понятно, но

Цитата
Сообщение от valli_vasia
Посмотреть сообщение

чтобы окно невесело

вот и окну уже не вЕсело.
Для чего надо скрывать окно? Вы что очень часто проделываете эту операцию по переименованию в однотипный шаблон всех найденных xml, на кой такое нужно. Для разовой задачи нет смысла скрывать окно, можно и потерпеть и забыть.
Если задача не разовая, поясните — зачем именно так. Папка my_xml и все туды.



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

Цитата
Сообщение от GarfieldX
Посмотреть сообщение

все пишется в профиль админа

а повернуть реку вспять религия не позволяет?

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



0



0 / 0 / 0

Регистрация: 18.04.2016

Сообщений: 7

04.05.2018, 17:49

18

Цитата
Сообщение от alpap
Посмотреть сообщение

а повернуть реку вспять религия не позволяет?

Может тогда снизойдете до более подробных объяснений?
Честно — не соображу что и как.
Есть vbs скрипт запускаемый батником, который с свою очередь запускается с админскими правами. Понятно, что только часть операций в скрипте требует админских прав. Вы предлагаете рулить процессом кусочно или как то по-другому?



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,
Проблема в доступе к ветке реестра HKEY_CURRENT_USER, который является относительно ссылкой, а не абсолютной.
Или та же %appdata%, которая ведет в профиль текущего пользователя. Только в этом случае выкрутиться можно, а вот с реестром пока не нашел как.



0



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

karikari's user avatar

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.

  1. Right click the batch file and click copy
  2. Navigate to where you want the shortcut
  3. Right click the background of the directory
  4. Select Paste Shortcut

Then you can set the shortcut to run as administrator:

  1. Right click the shortcut
  2. Choose Properties
  3. In the Shortcut tab, click Advanced
  4. Select the checkbox «Run as administrator»
  5. 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

Screenshot

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's user avatar

Danny Beckett

20.1k23 gold badges106 silver badges134 bronze badges

answered Dec 11, 2012 at 0:08

Ed Greaves's user avatar

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 SB's user avatar

Kerrek SBKerrek SB

457k91 gold badges866 silver badges1073 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

Sire's user avatar

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

aphoria's user avatar

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 Bhaskar's user avatar

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

mattn's user avatar

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

xxedxx's user avatar

xxedxxxxedxx

671 silver badge1 bronze badge

3

  1. 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%
    
  2. 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

pstraton's user avatar

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

Anonymous's user avatar

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

Achilles's user avatar

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 executed
  • cmd -C <commands> Execute command in terminal and close

answered Nov 1, 2021 at 8:25

Martin Vyskočil's user avatar

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

Samiamias's user avatar

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

karikari's user avatar

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.

  1. Right click the batch file and click copy
  2. Navigate to where you want the shortcut
  3. Right click the background of the directory
  4. Select Paste Shortcut

Then you can set the shortcut to run as administrator:

  1. Right click the shortcut
  2. Choose Properties
  3. In the Shortcut tab, click Advanced
  4. Select the checkbox «Run as administrator»
  5. 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

Screenshot

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's user avatar

Danny Beckett

20.1k23 gold badges106 silver badges134 bronze badges

answered Dec 11, 2012 at 0:08

Ed Greaves's user avatar

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 SB's user avatar

Kerrek SBKerrek SB

457k91 gold badges866 silver badges1073 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

Sire's user avatar

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

aphoria's user avatar

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 Bhaskar's user avatar

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

mattn's user avatar

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

xxedxx's user avatar

xxedxxxxedxx

671 silver badge1 bronze badge

3

  1. 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%
    
  2. 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

pstraton's user avatar

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

Anonymous's user avatar

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

Achilles's user avatar

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 executed
  • cmd -C <commands> Execute command in terminal and close

answered Nov 1, 2021 at 8:25

Martin Vyskočil's user avatar

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

Samiamias's user avatar

Как создать bat файл в WindowsНередко советы по тем или иным действиям и исправлениям в Windows 10, 8 и Windows 7 включают в себя шаги наподобие: «создайте файл .bat со следующим содержимым и запустите его». Однако, начинающий пользователь не всегда знает, как это сделать и что собой представляет такой файл.

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

Создание .bat файла с помощью блокнота

Первый и самый простой способ создать bat файл — использовать стандартную программу «Блокнот», присутствующую во всех актуальных версиях Windows.

Шаги по созданию будут следующими

  1. Запустите Блокнот (находится в Программы — Стандартные, в Windows 10 быстрее запустить через поиск в панели задач, если блокнота нет в меню «Пуск», запустить его можно из C:Windowsnotepad.exe).
  2. Введите в блокнот код вашего bat файла (например, скопируйте откуда-то, либо напишите свой, о некоторых командах — далее в инструкции). Создание bat файла в блокноте
  3. В меню блокнота выберите «Файл» — «Сохранить как», выберите место сохранение файла, укажите имя файла с расширением .bat и, обязательно, в поле «Тип файла» установите «Все файлы». Сохранение bat файла в блокноте
  4. Нажмите кнопку «Сохранить».

Примечание: если файл не сохраняется в указанное расположение, например, на диск C, с сообщение «У вас нет разрешения на сохранение файлов в этом месте», сохраните его в папку «Документы» или на рабочий стол, а затем скопируйте в нужное расположение (причина проблемы в том, что в Windows 10 для записи в некоторые папки нужны права администратора, а поскольку блокнот не был запущен от имени администратора, он не может сохранить файл в указанную папку).

Ваш файл .bat готов: если его запустить, будут автоматически выполнены все перечисленные в файле команды (при условии отсутствия ошибок и необходимости прав администратора: в некоторых случаях может потребоваться запускать файл 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) или задайте вопрос в комментариях, я постараюсь помочь.

Была поставлена задача, нужно что-бы при запуске батника менялись сетевые настройки, я сделал вот так, оно работает только если запускать от имени админа.

netsh interface ip set address name="Ethernet" source=static 172.16.11.16 255.255.254.0 gateway=172.16.10.1 1 
netsh interface ip set dns name="Ethernet" static 172.16.10.1

но его нужно запускать из под обычного пользователя, для этого создал еще один батник

runas /user:Admin /savecred "D:change ip.bat"

получается что при исполнении второго батника, запускается первый от имени админа, но изменения в сетевые настройки он не вносит с комментарием

Для запрошенной операции требуется повышение прав (запустите с правами администратора).

так-же читал что эту проблему можно решить открытием учетки встроенного(скрытого) администратора, но это решение не годиться, так как выглядит совершенно не безопасно тем-более с доменными учетными записями.


  • Вопрос задан

    более трёх лет назад

  • 25130 просмотров

С помощью 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.

Пригласить эксперта

@echo off
if  "%~1" == "self" (
     netsh interface ip set address name="Ethernet" source=static 172.16.11.16 255.255.254.0 gateway=172.16.10.1 1 
     netsh interface ip set dns name="Ethernet" static 172.16.10.1
) else (
    powershell.exe Start-Process "D:changeip.bat self" -Verb runAs 
)

Есессно, без powershell не работает.


  • Показать ещё
    Загружается…

04 февр. 2023, в 13:34

2000000 руб./за проект

04 февр. 2023, в 13:03

5000 руб./за проект

04 февр. 2023, в 12:31

10000 руб./за проект

Минуточку внимания

Windows 10 может запускать специальные файлы, которые по умолчанию содержат последовательные команды. В этом смысле опытные пользователи могут запускать так называемые .bat-файлы, но при их выполнении следует соблюдать осторожность. Если вам интересно как запустить .bat файл от имени администратора cmd в Windows 10? Обратите внимание на эту интересную статью.

Файлы Bat очень полезны для Windows, потому что они позволяют автоматизировать выполнение ряда задач, которые могут быть очень утомительными из-за их повторяемости. В этих случаях сценарий с расширением .bat позволит создание заказов на развитие быстрых активностей и действует в соответствии с инструкциями пользователя.

Вот вся необходимая информация о .bat файлы и как запускать их из командной консоли в Windows 10.

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

Файл .bates — это документ, содержащий серию команд для выполнения повторяющихся задач. Файлы с расширением .bat также называются пакетными программами или сценариями оболочки для обозначения пакетной обработки.

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

Как создать файл .bat?

Файл .bat должен содержать несколько строк кода, чтобы запускаться одна за другой (последовательно). Чтобы создать его, вам нужно щелкнуть правой кнопкой мыши на рабочем столе и выбрать опцию «Создать». Тогда выбирай «Текстовый документ» и продолжайте писать инструкции, которые вы хотите выполнить с файлом.

Позже сохраните изменения и назовите файл с расширением .bat. Таким образом, при двойном щелчке по этому файлу система выполнит имеющиеся у вас инструкции. précédemment добавленной .

Что такое консоль cmd?

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

La консоль cmd работает, вставляя серию команд в параметры, определенные пользователем вручную. Однако файл .bat может запускать эти команды автоматически.

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

Запустите файл .bat от имени администратора cmd в Windows 10

Чтобы запустить файл .bat или .bat как как администратор cmd в Windows 10 вам нужно щелкнуть файл правой кнопкой мыши и в контекстном меню выбрать «Запуск от имени администратора».

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

С другой стороны, если у вас есть общие проблемы с CMD, есть способы введите системный символ в Windows 10, когда она не запускается . Это справедливо не только для того, что было показано ранее, это также будет полезно на общем уровне.

Создайте ярлык для файла .bat

Создать сокращенный пакетного файла, адрес которого указывает на него, и в его «Свойствах» выберите раздел «Дополнительные параметры», чтобы установить флажок «Запуск от имени администратора». Таким образом, командная строка Windows будет выполнять построчно все инструкции, содержащиеся в вашем .bat-файле.

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

Вы можете запустить свой .bat-файл от имени администратора другим простым способом. Для этого перейдите в меню Пуск Windows и в опции «Выполнить» введите cmd. Нажмите кнопку «Enter», чтобы открыть консоль управления. В нем найдите каталог, в котором находится файл .bat, и запустите его, указав его имя и расширение.

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

Ezoic

Содержание:

  • 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-файла в Notepad++ шаг 1

Создание bat-файла в Notepad++ шаг 2

Если для создания bat-файла захотите использовать Блокнот, расширение нужно присвоить вручную, а в списке «Тип файла» выбрать «Все файлы».

Сохранение 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"

kak-sozdat-bat-fail-4

Команда start запускает исполняемый файл нужной программы, а команда timeout /t задаёт интервал между запусками. Обратите внимание на расположение кавычек – в них берутся пути, в которых имеются пробелы. Также если в пути есть кириллические символы, в начало скрипта следует вставить изменяющую кодировку команду chcp 1251, в противном случае интерпретатор не сможет правильно прочитать путь.

kak-sozdat-bat-fail-5

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

start /b "" "путь"

kak-sozdat-bat-fail-6

Может также статься, что в определённый момент потребуется приостановить выполнение скрипта, чтобы пользователь сам смог решить, выполнять ли все остальные команды или нет. Для этого существует команда pause. Попробуйте заменить ею timeout и увидите, что получится.

start /b "" "путь"
pause

kak-sozdat-bat-fail-7

Рассмотрим ещё один пример команд для bat файла. Напишем скрипт, который будет в одном случае выключать компьютер, а в другом – перезагружать его. Для этих целей мы будем использовать команду shutdown с параметрами /s, /r и /t. При желании можно добавить в батник запрос на выполнение действия, вот так:

@echo off
chcp 1251
echo "Вы действительно хотите выключить компьютер?"
pause
shutdown /s /t 0

kak-sozdat-bat-fail-8

kak-sozdat-bat-fail-9

Поясняем. Первая команда скрывает текст самих команд, вторая – устанавливает кириллическую кодировку, третья – выводит сообщение для пользователя, четвертая – устанавливает паузу, пятая – выключает, а с ключом /r вместо /s перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.

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

Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка data в корне диска D, содержимое которой нужно очистить одним махом. Открываем батник и вставляем в него такую команду:

del /A /F /Q "D:/data"

kak-sozdat-bat-fail-10

А можно и так:

forfiles /p "D:/data" /s /m *.* /c "cmd /c Del @path"

kak-sozdat-bat-fail-11

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

А вот ещё один полезный пример. Напишем скрипт, который будет создавать резервную копию содержимого одной папки и сохранять данные в другую. За копирование отвечает команда robocopy:

robocopy C:/data D:/backup /e
pause

kak-sozdat-bat-fail-12

Запустив такой батник на исполнение, вы скопируете все содержимое папки data в папку backup, включая вложенные каталоги, пустые и с файлами. К слову, команда robocopy имеет много параметров, позволяющих очень гибко настраивать параметры копирования.

kak-sozdat-bat-fail-13

Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat

Теперь вы знаете как создавать батники и имеете некое общее представление о языке интерпретатора CMD. Это были основы, теперь пришла пора познакомиться с некоторыми полезными особенностями работы с bat-файлами. Известно, что для выполнения некоторых действий программам нужны права администратора. Понадобиться они могут и батникам. Самый очевидный способ запустить скрипт от имени администратора, это кликнуть по нему правой кнопкой мыши и выбрать в контекстном меню соответствующую опцию.

Запуск bat-файла от имени администратора

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

kak-sozdat-bat-fail-15

Скрипты, как и все приложения, можно запускать по расписанию. Команда timeout /t здесь не совсем уместна, для отложенного запуска лучше всего использовать встроенный «Планировщик задач» Windows. Здесь всё просто. Открываем командой taskschd.msc Планировщик, определяемся с триггером, действие выбираем «Запустить программу» и указываем путь к bat-файлу. Вот и всё, скрипт будет запущен в положенное время.

Настройка запуска bat файла через Планировщик - шаг 1

Настройка запуска bat файла через Планировщик - шаг 2

Настройка запуска bat файла через Планировщик - шаг 3

Настройка запуска bat файла через Планировщик - шаг 4

Настройка запуска bat файла через Планировщик - шаг 5

И напоследок ещё один интересный момент. Когда вы запускаете bat-файл, на экране появляется, пусть даже на какую-то долю секунды, окно командной строки. А нельзя ли сделать так, чтобы скрипт выполнялся в скрытом режиме? Можно, причём несколькими способами. Самый простой заключается в следующем. Создаём на bat-файл ярлык, открываем его свойства и в меню «Окно» выбираем «Свёрнутое в значок». После этого единственным видимым признаком запуска скрипта будет появление значка CMD на панели задач, окон же при этом открываться не будет.

kak-sozdat-bat-fail-21

Если вы желаете полностью скрыть выполнение скрипта, можете воспользоваться «костылем» – скриптом 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

kak-sozdat-bat-fail-22

Есть также и другие варианты, например, использование утилиты Hidden Start, позволяющей запускать исполняемые и пакетные файлы в скрытом режиме, в том числе без приглашения UAC.

А на этом пока всё. Информацию касательно создания скриптов BAT без труда можно найти в интернете. Неплохо также ознакомиться с учебником Уильяма Станека «Командная строка Microsoft Windows». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.

Здравствуйте!

 

Есть вопрос, возможно, кто-то сможет подсказать, куда копать. Ситуация: закрытый, находящийся в спящем режиме, чехле и рюкзаке макбук самовольно цепляется к беспроводной сети и что-то куда-то отправляет (см. картинку). В настойках энергосбережения Power Nap (эппловский аналог Connected Standby) запрещён при питании от аккумулятора, никаких процессов или служб, мешающих компу спать, не запущено. В логах ничего путного найти не удалось (прикладываю), поиск в Сети даёт невнятный результат (дескать, это нормальное поведение для макбука). Но меня беспокоят две вещи:
1) за ночь он таким макаром выедает до четверти ёмкости батареи;
2) мне не нравится, что мой компьютер ходит в Интернет без меня.

Кроме того, старенький MacBook Pro 2012 года так себя не ведёт — он если засыпает, то с концами и в Сеть не лезет. MacBook Air 2013 года у товарища — тоже. А вот Pro 2018 года ведёт себя так, как описано выше. Временное решение — вырубать wi-fi на ночь. Тогда он, суда по логам, несколько раз просыпается, пытается залезть в Сеть, обламывается и от огорчения засыпает обратно. Расход батареи получается 1–2 процента за 12 часов. Но может быть, его всё же можно как-нибудь программно отучить по интернетам шастать без хозяина?

system.log
Mac Analytics Data.log
wifi.log

Содержание

  1. Как создать BAT файл в Windows 10
  2. Что такое BAT-файл в Windows 10
  3. Создание BAT файла через Блокнот
  4. Создание BAT файла переименованием TXT
  5. Редактирование созданных BAT-файлов
  6. Создание BAT файлов для запуска программ
  7. Другие команды для BAT файлов
  8. Как создать bat файл в Windows 10
  9. Как создать bat-файл
  10. Основные операторы bat-файла:
  11. Длинные имена в bat-файлах
  12. Запуск программ в bat-файлах с ключами
  13. Копирование между папками с помощью bat-файла
  14. Редактирование bat
  15. Программы редактирования
  16. Видео — Как создать bat файл в Windows 10
  17. Как создать bat-файл в Windows 7/10 – редактируем и сохраняем батник
  18. Как создать файл с расширением BAT
  19. Основные команды, синтаксис и примеры использования батников
  20. Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat

Как создать BAT файл в Windows 10

В статьях по настройке операционной системы Windows 10 часто можно встретить рекомендацию создать BAT файл, записать в него определенные команды и выполнить. Но, при этом, далеко не всегда объясняется, что это такое, как оно создается и запускается.

В данной инструкции мы постараемся закрыть данный вопрос. Здесь вы узнаете, что такое BAT файл, как создать BAT файл в Windows 10, а также как его редактировать и выполнять.

Что такое BAT-файл в Windows 10

Поддержка BAT файлов в операционных системах Microsoft появилась еще в MS-DOS, в которой команды выполнялись командным интерпретатором « COMMAND.COM ». Данный интерпретатор также присутствовал и в операционных системах семейства Windows 9x, но с приходом Windows NT был заменен на « cmd.exe ».

Создание BAT файла через Блокнот

Чтобы запустить « Блокнот » можно воспользоваться поиском в меню « Пуск » или нажать комбинацию клавиш Win-R и выполнить команду « notepad ».

040820 1300 BAT1

После открытия программы « Блокнот » в нее нужно вставить команды для выполнения. Для примера введем команду, которая выполнит 100 запросов ping к домену Google.

040820 1300 BAT2

После ввода команд, документ нужно сохранить с расширением BAT. Для этого открываем меню « Файл – Сохранить как » или используем комбинацию клавиш Ctrl-Shift-S.

040820 1300 BAT3

Дальше откроется стандартное окно для сохранения документов. Здесь нужно указать папку для сохранения, выбрать « Тип файла – Все файлы (*.*) » и ввести имя с расширением BAT (.bat). Например, можно ввести « Ping.bat ».

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

040820 1300 BAT4

После сохранения в выбранной вами папке появится готовый к использованию BAT файл.

Создание BAT файла переименованием TXT

Также в Windows 10 можно создавать BAT файлы с помощью переименования обычных текстовых файлов (с расширением *.txt). Другими словами, вы можете сначала создать обычный текстовый документ с расширением TXT, сохранить в него все нужные команды, и уже потом превратить его в исполняемый пакетный файл изменив расширение с TXT на BAT.

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

040820 1300 BAT6

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

parametry provodnika

Либо можно воспользоваться меню « Выполнить ». Для этого нужно нажать комбинацию клавиш Windows-R и ввести команду « control.exe folders ».

parametry papok

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

040820 1300 BAT7

После этого, при переименовании вы сможете изменять расширение.

040820 1300 BAT8

Изменив расширение с TXT на BAT вы получите исполняемый пакетный файл.

Редактирование созданных BAT-файлов

Для того чтобы отредактировать уже созданный BAT-файл его нужно открыть в любом простом текстовом редаторе (например, в Блокноте, Notepad++ или Akelpad). Чтобы отредактировать BAT с помощью Блокнота достаточно кликнуть по нему правой кнопкой мыши и выбрать пункт « Изменить ».

bat edit

После этого выбранный файл откроется в программе Блокнот и вы сможете отредактировать его содержимое.

Создание BAT файлов для запуска программ

В BAT файле вы можете использовать любые команды, которые могут быть выполнены при помощи « Командной строки » Windows 10. Но, BAT-файлы также могут использоваться для запуска программ и приложений.

Для запуска программ ч помощью BAT файла нужно использовать команду « start ». Ниже показано, как выглядит формат записи данной команды.

Например, для того чтобы запусть браузер Google Chrome нужно выполнить:

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

Для запуска других пакетных файлов нужно использовть команду « call ». Ниже показано, как выглядит формат записи данной команды.

Например, для того чтобы запустить пакетный файл « test.bat », который находится на рабочем столе, нужно выполнить:

Другие команды для BAT файлов

Также в BAT файлах часто используется команда « @echo off ». Данная команда наоборот, отключает вывод выполняемых команд на экран, а знак « @ » предотвращает вывод самой команды « echo ».

Источник

Как создать bat файл в Windows 10

Kak sozdat bat fajl v Windows 10 1

Этот тип файла – полезный инструмент автоматизации однообразных файловых операций – копирования, удаления и т.д., а также запуска различных приложений и выполнения других операций в ОС.

К примеру, если необходимо выполнить DOS-команду ipconfig/flushdns, очищающую кэш распознавателя DNS, это можно сделать через запуск cmd.exe. Однако, если процедуру нужно повторить многократно, лучше сделать это через запуск предварительно созданного bat-файла.

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

Nazhimaem myshju pravoj na knopke Pusk i vybiraem Panel upravlenija

Zapuskaem Parametry provodnika e1531379443513

Ubiraem galochku i nazhimaem OK e1531379543664

Как создать bat-файл

Otkryvaem Bloknot e1531379677985

Vpisyvaem v bloknote komandy

Справка! Использование оператора «pause» не позволяет DOS-экрану закрыться после исполнения bat-файла, чтобы у пользователя была возможность видеть ответ интерпретатора cmd.

Vybiraem Sohranit kak

V okne Sohranit kak nazhimaem sleva kuda pomestit fajl pishem imja sozdavaemogo fajla i ukazyvaem rasshirenie .bat vybrav v Tip fajla Vse fajly . Zatem nazhimaem Sohranit

Klikaem dvazhdy myshju na sohranennom fajle

Результат исполнения bat-файла отобразиться в DOS-окне.

Rezultat ispolnenija bat fajla

В данном случае содержимое кэш службы разрешения имен DNS успешно очищено, исправляя проблемы отображения интернет-страниц и другие проблемы DNS. Система предлагается нажать любую клавишу для закрытия окна.

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

Основные операторы bat-файла:

Применение некоторых из перечисленных команд показано на примере ниже. Необходимо отметить, что команда @echo off скрывает путь выполняемой команды, отображаемый cmd на DOS-экране.

Komanda echo off skryvaet put vypolnjaemoj komandy

Запуск программ в файле bat происходит с помощью команды start и указанием имени запускаемой программы.

Zapusk programm v fajle bat proishodit s pomoshhju komandy start

Также в файле может быть прописан полный путь до исполняемого файла.

V fajle propisan polnyj put do ispolnjaemogo fajla

Обе эти записи для firefox работают корректно. Однако, они обе корректны только для зарегистрированных в Windows приложений. Если попробовать запустить портативную программу (например, filezilla) без прописи всего пути к запускаемому файлу, она не запустится.

Длинные имена в bat-файлах

Иногда в bat встречаются программы, не работающие с длинными именами с пробелами – обычно это некоторые старые программы для MS-DOS. В этих случаях помогает использование коротких DOS-имен без пробелов, а также кавычек.

Правила записи коротких DOS-имен (формат 8.3): задействуется шесть начальных символов имени папки, не учитывая пробелы, далее указывается ее номер по порядку через

. Например: start C:Program FilesMozilla Firefoxfirefox.exe преобразуется в: start C:Progra

Возможна ситуация, когда в одном каталоге имеются несколько папок с одинаковыми символами в названии.

V odnom kataloge imejutsja neskolko papok s odinakovymi simvolami v nazvanii e1531381521905

Их короткие имена в этом случае должны нумероваться в соответствии с алфавитным порядком папок:

Однако, если Mozilla Firefox будет удален с компьютера, следующие за Mozill

1 записи работать не будут. Поэтому, короткие DOS-имена – не лучший вариант решения проблемы длинных имен. Создание имен этого типа на NTFS также бывает отключено в реестре Windows.

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

Kavychki raspolagajushhiesja pered propisyvaemym putem k zapuskaemomu fajlu javljajutsja objazatelnym atributom

Однако, в некоторых случаях кавычки не работают совсем. В этом случае возможно использование команды изменения текущего рабочего каталога Chdir (CD). Запись start firefox.exe приобретает в этом случае следующий рабочий вид.

Zapis start firefox.exe priobretaet rabochij vid

Справка. Команда CD – пожалуй, единственное универсальное решение вопроса длинных имен в bat-файлах.

Запуск программ в bat-файлах с ключами

Программы в bat-файле можно не только запускать, но и устанавливать им дополнительные команды (ключи) запуска. Например, если запустить bat-файл с записью: start /?, он отобразит на DOS-экране список используемых с этим оператором ключей с необходимыми пояснениями.

Zapusk programm v bat fajlah s kljuchami

Пример используемых ключей, где: — minimize – ключ для минимизации программы после ее запуска, — hide_splash – ключ для сворачивания программы в трэй.

Primer ispolzuemyh kljuchej

Команда создания папки выполняется в bat с помощью оператора MKDIR (MD). Если запустить приведенный в примере bat-файл, он создаст четыре вложенные папки на диске С.

Komanda sozdanija papki vypolnjaetsja v bat s pomoshhju operatora MKDIR

Следующий пример – как открыть не один, а сразу несколько каталогов на диске С.

Копирование между папками с помощью bat-файла

В приведенном ниже примере показано, как скопировать папку с диска D: на диск E. Параметр /s разрешает копирование каталогов и подкаталогов. Параметр i/ создает новый каталог, чтобы команда xcopy скопировала в него файлы.

Kopirovanie mezhdu papkami s pomoshhju bat fajla

Базовый файл при этом как остается как на диске D, так и копируется в новое место, указанное в bat-файле.

Редактирование bat

Pri pomoshhi klika PKM vybiraem punkt Izmenit e1531384291269

Otkrytie fajla v vybrannoj po umolchaniju dlja jetogo tipa fajlov programme e1531384688646

Программы редактирования

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

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

Видео — Как создать bat файл в Windows 10

Понравилась статья?
Сохраните, чтобы не потерять!

Источник

Как создать bat-файл в Windows 7/10 – редактируем и сохраняем батник

Использование графического интерфейса в операционных системах сегодня представляется чем-то само собой разумеющимся и совершенно естественным, но так было не всегда. Первая операционная система MS DOS, разработанная компанией Microsoft, не имела GUI, а управление выполнялось посредством ввода текстовых команд. С тех пор минуло без малого 40 лет, однако скриптовый язык командной строки по-прежнему пользуется популярностью, причём не только в среде разработчиков.

Командная строка не столь удобна, зато с её помощью можно выполнять недоступны из GUI операции. С другой стороны, запускать каждый раз консоль, вводить в неё одну за другой команды – всё это сильно замедляет работу. Впрочем, можно существенно упростить задачу, создав бат-файл или попросту батник – текстовый файл с расширением BAT, содержащий список инструкций, обрабатываемых командным интерпретатором CMD. Используются такие файлы для автоматизации разных задач, например, для удаления временных файлов по расписанию или запуска программ.

Как создать файл с расширением BAT

Итак, как создать bat-файл в Windows 7/10? Очень просто. Для этого понадобится любой текстовый редактор и знание основ командной строки. Можно использовать Блокнот, а ещё лучше Notepad++, так как последний имеет подсветку синтаксиса. Создайте в редакторе новый файл, в меню «Файл» выберите «Сохранить как», дайте будущему скрипту имя, а в выпадающем списке «Тип файла» выберите «Batch file (*bat; *cmd; *nt)».

kak sozdat bat fail 1

kak sozdat bat fail 2

Если для создания bat-файла захотите использовать Блокнот, расширение нужно присвоить вручную, а в списке «Тип файла» выбрать «Все файлы».

kak sozdat bat fail 3

Как видите, создать файл с расширением bat не составляет сложности, есть тут, однако, свои тонкости. В командных файлах нельзя использовать перенос строк, кодировка bat-файла должна быть выставлена UTF-8, если в теле скрипта используется кириллица, кодировку нужно изменить, вставив в положенном месте команду chcp 1251.

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

Основные команды, синтаксис и примеры использования батников

Как сделать bat-файл вы знаете, теперь настала пора самого интересного, а именно синтаксиса языка интерпретатора CMD. Понятно, пустой батник работать не будет, он даже не запустится при двойном по нему клике. Чтобы скрипт сработал, в нём должна быть прописана хотя бы одна команда. Для наглядного примера посмотрим, как написать bat-файл для запуска программ. Допустим, приступая к работе, вы каждый раз запускаете три программы – Chrome, Firefox и VLC. Упростим задачу, создав скрипт, который будет сам запускать эти программы с интервалом в пять секунд.

Открываем пустой батник и вставляем в него такие команды:

kak sozdat bat fail 4

Команда start запускает исполняемый файл нужной программы, а команда timeout /t задаёт интервал между запусками. Обратите внимание на расположение кавычек – в них берутся пути, в которых имеются пробелы. Также если в пути есть кириллические символы, в начало скрипта следует вставить изменяющую кодировку команду chcp 1251, в противном случае интерпретатор не сможет правильно прочитать путь.

kak sozdat bat fail 5

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

kak sozdat bat fail 6

Может также статься, что в определённый момент потребуется приостановить выполнение скрипта, чтобы пользователь сам смог решить, выполнять ли все остальные команды или нет. Для этого существует команда pause. Попробуйте заменить ею timeout и увидите, что получится.

kak sozdat bat fail 7

Рассмотрим ещё один пример команд для bat файла. Напишем скрипт, который будет в одном случае выключать компьютер, а в другом – перезагружать его. Для этих целей мы будем использовать команду shutdown с параметрами /s, /r и /t. При желании можно добавить в батник запрос на выполнение действия, вот так:

kak sozdat bat fail 8

kak sozdat bat fail 9

Поясняем. Первая команда скрывает текст самих команд, вторая – устанавливает кириллическую кодировку, третья – выводит сообщение для пользователя, четвертая – устанавливает паузу, пятая – выключает, а с ключом /r вместо /s перезагружает компьютер без традиционной задержки в одну минуту. Если не желаете церемониться с запросами и паузами, можете оставить только пятую команду.

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

Что ещё можно делать с помощью скриптов? Много чего, например, удалять, копировать или перемещать файлы. Допустим, у вас есть некая папка data в корне диска D, содержимое которой нужно очистить одним махом. Открываем батник и вставляем в него такую команду:

kak sozdat bat fail 10

kak sozdat bat fail 11

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

А вот ещё один полезный пример. Напишем скрипт, который будет создавать резервную копию содержимого одной папки и сохранять данные в другую. За копирование отвечает команда robocopy:

kak sozdat bat fail 12

Запустив такой батник на исполнение, вы скопируете все содержимое папки data в папку backup, включая вложенные каталоги, пустые и с файлами. К слову, команда robocopy имеет много параметров, позволяющих очень гибко настраивать параметры копирования.

kak sozdat bat fail 13

Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat

Теперь вы знаете как создавать батники и имеете некое общее представление о языке интерпретатора CMD. Это были основы, теперь пришла пора познакомиться с некоторыми полезными особенностями работы с bat-файлами. Известно, что для выполнения некоторых действий программам нужны права администратора. Понадобиться они могут и батникам. Самый очевидный способ запустить скрипт от имени администратора, это кликнуть по нему правой кнопкой мыши и выбрать в контекстном меню соответствующую опцию.

kak sozdat bat fail 14

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

kak sozdat bat fail 15

Скрипты, как и все приложения, можно запускать по расписанию. Команда timeout /t здесь не совсем уместна, для отложенного запуска лучше всего использовать встроенный «Планировщик задач» Windows. Здесь всё просто. Открываем командой taskschd.msc Планировщик, определяемся с триггером, действие выбираем «Запустить программу» и указываем путь к bat-файлу. Вот и всё, скрипт будет запущен в положенное время.

kak sozdat bat fail 16

kak sozdat bat fail 17

kak sozdat bat fail 18

kak sozdat bat fail 19

kak sozdat bat fail 20

И напоследок ещё один интересный момент. Когда вы запускаете bat-файл, на экране появляется, пусть даже на какую-то долю секунды, окно командной строки. А нельзя ли сделать так, чтобы скрипт выполнялся в скрытом режиме? Можно, причём несколькими способами. Самый простой заключается в следующем. Создаём на bat-файл ярлык, открываем его свойства и в меню «Окно» выбираем «Свёрнутое в значок». После этого единственным видимым признаком запуска скрипта будет появление значка CMD на панели задач, окон же при этом открываться не будет.

kak sozdat bat fail 21

Если вы желаете полностью скрыть выполнение скрипта, можете воспользоваться «костылем» – скриптом VВS, который будет запускать ваш батник в скрытом режиме. Текст скрипта приведен ниже, сохраните его в файл hidden.vbs, предварительно заменив путь во второй строчке кода D:/sсript.bat путём к вашему батнику.

kak sozdat bat fail 22

Есть также и другие варианты, например, использование утилиты Hidden Start, позволяющей запускать исполняемые и пакетные файлы в скрытом режиме, в том числе без приглашения UAC.

А на этом пока всё. Информацию касательно создания скриптов BAT без труда можно найти в интернете. Неплохо также ознакомиться с учебником Уильяма Станека «Командная строка Microsoft Windows». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.

Источник

Статья представляет собой простой способ принудительного запуска программы без прав администратора и подавлением запроса контроля учетных записей пользователей (UAC). 

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

Соответственно, если на компьютере включен контроль учетных записей, то при запуске такой программы из-под непривилегированного пользователя появится запрос UAC и Windows потребует от пользователя ввести пароль администратора.

В данной статье, в качестве примера, продемонстрирован запуск установочного файла программы WinRAR однако, приведенный ниже способ подходит для запуска и установки большинства программ на ОС Windows 7, 8, 8.1, 10, 11. 


ВАЖНО!
Нижеописанный способ не позволит вам получить повышенные права для программы. Используемый параметр RUNASINVOKER подавляет окно UAC и сообщает программе, что она должна запуститься с правами текущего пользователя и не запрашивать повышение привилегий. Если программе действительно нужны повышенные права для редактирования системных параметров или файлов, она не будет работать или повторно запросит права администратора.

Решение:

1. При попытке запуска программы требующей повышения прав (прим. в данном примере это WinRAR) перед вами появится окно Контроль учетных записей пользователя с запросом имени и пароля пользователя имеющего права администратора. Если не указать пароль и не подтвердить повышение привилегии, приложение не запустится (Рис.1).

Рис.1

.

2. Вызовите меню (прим. для вызова меню нажмите правой кнопкой мыши), выберите Создать, затем выберите Текстовый документ (прим. после создания текстового документа, присвойте ему имя. В данном примере имя RUN, но вы можете выбрать любое другое) (Рис.2).

Рис.2

.

3. Откройте созданный текстовый документ и введите:

cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"

(прим. можете скопировать отсюда и вставить в текстовый документ) (Рис.3).

Рис.3

.

4. Выберите в окне Файл, затем нажмите Сохранить как… (Рис.4).

Рис.4

.

5. Сохраните текстовый документ с расширением .bat (прим. в данном примере это RUN.bat) (Рис.5).

Рис.5

.

6. Для принудительного запуска приложения без прав администратора и подавлением запроса UAC, перетащите файл, который нужно запустить (прим. в данном примере это WinRAR) на созданный .bat файл (прим. в данном примере это RUN.bat) на рабочем столе (Рис.6).

Рис.6

.

7. Файл запустится без появления запроса UAC и без ввода пароля администратора (Рис.7).

Рис.7

.

Запуск программы без прав администратора завершен!

.

Понравилась статья? Поделить с друзьями:
  • Bassboosted на пк windows 10 на русском
  • Bass management windows 10 что это
  • Bass boost что это windows 10
  • Bass boost settings windows 10 настройка наушников
  • Basilisk для windows xp 32 bit