Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запуск .bat через .bat

Ответить
Настройки темы
CMD/BAT - [решено] Запуск .bat через .bat

Новый участник


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

Профиль | Отправить PM | Цитировать


Изменения
Автор: VladoSer
Дата: 02-09-2021
Всем доброго.
Есть такие программы как superuser64/Ti(trusted installer) для запуска исполняемых файлов от имени TrustedInstaller, которые по сути своей являются коммандной строкой и при запуске открывают ее же для дальнейшего вписания туда названия файла .

Собственно суть вопроса.
Как открывать мой n.bat файл сразу через них?

По сути если я пропишу в код своего n.bat файла это
Код: Выделить весь код
@echo off
echo привет
superUser64.exe n.bat
pause
То у меня открывается бесконечное количество cmd, поэтому приходится использовать отдельный bat - файл «запускатель» с таким кодом
Код: Выделить весь код
 superuser64.exe n.bat
Exit
То файл этот срабатывает и сразу закрывается , запускается мой n.bat с нужным мне кодом, но хотелось бы сразу запускать мой n.bat без файла «запускателя»

Пробовал так, но тогда обе коммандные строки закрываются, и на этом все.
Код: Выделить весь код
@echo off
Echo привет
superUser64.exe n.bat & taskkill /f /im cmd.exe
Надеюсь понятно обьяснил суть, спасибо.

Отправлено: 17:30, 02-09-2021

 

Ветеран


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

Профиль | Отправить PM | Цитировать


Цитата VladoSer:
если я пропишу в код своего n.bat файла это … То у меня открывается бесконечное количество cmd»
Естественно. Вы запускаете Ваш пакетный файл снова и снова бесконечной рекурсией без условия выхода.

Цитата VladoSer:
Собственно суть вопроса.
Как открывать мой n.bat файл сразу через них? »
Так и запускать. В чём проблема? Ну, и, если уж хотите сделать барона Мюнхгаузена, который будет вытаскивать из болота за волосы пакетный файл, который будет сам себя перезапускать через superUser — делайте условие:
Код: Выделить весь код
if <процесс cmd.exe, в котором обрабатывается данный пакетный файл, обладает привилегиями TrustedInstaller> (
    команда1
    команда2
    
    командаNN
) else (
    superUser64.exe "%~f0"
)
Как именно должно выглядеть это условие — не подскажу.

Отправлено: 22:00, 02-09-2021 | #2



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

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


Новый участник


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

Профиль | Отправить PM | Цитировать


Цитата Iska:
В чём проблема? »
Хочется просто нажать на n.bat который будет запущен сразу через superuser64


Цитата Iska:
делайте условие: »
Это уже что-то, однако проверить cmd на права Ti не представляю как можно.

Как то бы заставить эту заразу запуститься один раз через SU и сразу же его же окно закрыть , чтобы осталось одно окно cmd , в котором бы и выполнялись команды моего n.bat

По сути, нужно запустить, проверить, что запустилось и пропустить этот «код запуска» . А так да, получается круг из запускаемых cmd.

Отправлено: 22:38, 02-09-2021 | #3


Deadooshka


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

Профиль | Отправить PM | Цитировать


наверное, что-то типа этого
Код: Выделить весь код
if not [%1]==[ti] (
	superUser64.exe /c """%~f0"" ti"
	exit	
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:42, 03-09-2021 | #4


Ветеран


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

Профиль | Отправить PM | Цитировать


Туды ж её в качель! Sham, точно! Нам же фактически не нужно проверять именно то, что процесс уже обладает искомыми привилегиями, достаточно просто перезапустить с флагом .

Отправлено: 18:33, 03-09-2021 | #5


Новый участник


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

Профиль | Отправить PM | Цитировать


Цитата Sham:
if not [%1]==[ti] (
superUser64.exe /c """%~f0"" ti"
exit
) »
Попробовал, запускает 1 копию cmd, как и надо. Однако следующий код выбивает ошибку доступа, а он должен исполняться, в этом и суть superUser этого.

Отправлено: 19:31, 03-09-2021 | #6


Ветеран


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

Профиль | Отправить PM | Цитировать


VladoSer, неправильно пробуете.
Код: Выделить весь код
if not [%1]==[ti] (
	superUser64.exe /c """%~f0"" ti"
	exit	
) else (
	здесь reg.exe add …
	…и прочее по потребности.
)

Отправлено: 21:09, 03-09-2021 | #7


Ветеран


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

Профиль | Отправить PM | Цитировать


убрать echo для боевого состояния
Код: Выделить весь код
@echo off
for /f tokens^=2^ delims^=^" %%a in ("%cmdcmdline%") do echo superUser64.exe "%%a"
pause
(Код будет зациклен намертво, нужна принудительная остановка)

Последний раз редактировалось alpap, 04-09-2021 в 13:14.


Отправлено: 21:10, 03-09-2021 | #8


Новый участник


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

Профиль | Отправить PM | Цитировать


Цитата Iska:
Неправильно пробуете. »
Скрытый текст

жму на n.bat , cmd открывается, сразу же закрывается.

Цитата alpap:
убрать echo для боевого состояния »
Убрал.
куда мне добавить свой код?
Скрытый текст

вот мой код, который должен выполняться .
Скрытый текст
Код: Выделить весь код
reg add "HKEY_CLASSES_ROOT\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}" /v "System.IsPinnedToNameSpaceTree" /t REG_DWORD /d "0" /f >> nul && echo Значок сеть убран. Нажмите Enter.


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

Отправлено: 21:37, 03-09-2021 | #9


Новый участник


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

Профиль | Отправить PM | Цитировать


Нашел другое решение в виде программы RunAsTi
Скрытый текст


код выглядит таким образом
Код: Выделить весь код
@echo off
cd /d "%~dp0"
if /i not "%USERNAME%"=="SYSTEM" RunAsTI.exe "%~f0" %* & exit
echo Running as System
pause
итог:
Скрытый текст

Отправлено: 22:00, 03-09-2021 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запуск .bat через .bat

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Запуск Bat файла через %APPDATA% Prochor Скриптовые языки администрирования Windows 10 05-02-2021 23:39
CMD/BAT - Запуск команд для сервера через bat pwnya@vk Скриптовые языки администрирования Windows 7 12-07-2017 19:58
CMD/BAT - Как настроить последовательный запуск bat-файлов в другом bat. codi28 Скриптовые языки администрирования Windows 12 27-11-2013 18:30
CMD/BAT - Запуск и остановка сервера через bat. Parkan3D Скриптовые языки администрирования Windows 0 04-06-2012 16:09
CMD/BAT - [решено] Запуск bat-файла от имени админа.Как сделать каталог этого bat-файла текущим?? axmed0207 Скриптовые языки администрирования Windows 1 19-01-2012 06:14




 
Переход