[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет 4 месяца
  • Сообщений: 2499
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
82965Если у меня большой cmd скрипт и в нем нужно запускать часть от "администратора", а часть от "системы" в таком случае как он работает, здесь все команды будут с правами системы?
82967а если этот код куда то в конец общего скрипта отправить?
mat.86,
Можно и в конец.
Из меня скриптописец то некудышный (по этой части у нас Ander_73 - мастер), но могу предложить примерно такую конструкцию (ну а там дальше может кто-чего добавит/предложит как правильнее сделать):
@echo off
cd /D "%~dp0"
if /i "%USERNAME%"=="SYSTEM" goto :TRUST
goto :ADM
:ADM
::: В этом блоке (ADM) прописываем команды для запуска от имени администратора
::: Reg.exe add "бла-бла-бла, бла-бла-бла"
if /i not "%USERNAME%"=="SYSTEM" "%~dp0RunAsTI.exe" "%~f0" %* & exit
:TRUST
::: В этом блоке (TRUST) прописываем команды для запуска с правами TrustedInstaller
Reg.exe add "HKLM\SYSTEM\ControlSet001\services\TrkWks" /v "Start" /t REG_DWORD /d "0x4" /f

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3609
  • Репутация:127

    [+] [-]
sergeysvirid, aa
@echo off
cd /D "%~dp0"
if /i "%USERNAME%"=="SYSTEM" goto TRUST
::: В этом блоке (ADM) прописываем команды для запуска от имени администратора
::: Reg.exe add "бла-бла-бла, бла-бла-бла"
RunAsTI.exe "%~f0"
exit
:TRUST
::: В этом блоке (TRUST) прописываем команды для запуска с правами TrustedInstaller
Reg.exe add "HKLM\SYSTEM\ControlSet001\services\TrkWks" /v "Start" /t REG_DWORD /d "0x4" /f
Просто чуть причесал. ab

[Цитировать]

    mat.86
  • 14134
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 225
  • Репутация:1

    [+] [-]
sergeysvirid, Ander_73, спасибо ребят az все работает, все как надо ay ab

[Цитировать]

    nik63
  • 1479
  • Стаж: 8 лет 7 месяцев
  • Сообщений: 500
  • Репутация:19

    [+] [-]
  • Откуда: Башкирия г.Салават
Помогите пожалуйста, батник для скачки с Ютуба, предлагает нажать кнопку что бы закрытся, а мне надо что бы он не закрывался, а Что бы скачивать ещё видео.

Дополнительная информация

@ECHO OFF
ECHO ----------------------------------------------------------------------------------------------------------------------
SET /P URL="[Enter video URL] "
ECHO ----------------------------------------------------------------------------------------------------------------------
goto formatList
:formatList
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
youtube-dl -F %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
goto selection
:selection
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO 1) Video + Audio
ECHO 2) Single format (Audio only / Video only)
ECHO.
SET /P option="Select option: "
if %option% == 1 (goto download)
if %option% == 2 (goto downloadSingle)
ECHO.
ECHO Unknown value
ECHO ----------------------------------------------------------------------------------------------------------------------
goto selection
:download
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
SET /P video="Select video format: "
SET /P audio="Select audio format: "
ECHO.
youtube-dl -o Downloads/%%(title)s.%%(ext)s -f %video%+%audio% -i --ignore-config --hls-prefer-native %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
PAUSE
EXIT
:downloadSingle
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
SET /P format="Select format: "
ECHO.
youtube-dl -o Downloads/%%(title)s.%%(ext)s -f %format% -i --ignore-config --hls-prefer-native %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
PAUSE
EXIT

[Цитировать]

    Gvint64
  • 24573
  • Стаж: 3 года 11 месяцев
  • Сообщений: 570
  • Репутация:64

    [+] [-]
nik63, aa
@ECHO OFF
:m1
ECHO ----------------------------------------------------------------------------------------------------------------------
SET /P URL="[Enter video URL] "
ECHO ----------------------------------------------------------------------------------------------------------------------
goto formatList
:formatList
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
youtube-dl -F %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
goto selection
:selection
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO 1) Video + Audio
ECHO 2) Single format (Audio only / Video only)
ECHO.
SET /P option="Select option: "
if %option% == 1 (goto download)
if %option% == 2 (goto downloadSingle)
ECHO.
ECHO Unknown value
ECHO ----------------------------------------------------------------------------------------------------------------------
goto selection
:download
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
SET /P video="Select video format: "
SET /P audio="Select audio format: "
ECHO.
youtube-dl -o Downloads/%%(title)s.%%(ext)s -f %video%+%audio% -i --ignore-config --hls-prefer-native %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
PAUSE
goto m1
:downloadSingle
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
SET /P format="Select format: "
ECHO.
youtube-dl -o Downloads/%%(title)s.%%(ext)s -f %format% -i --ignore-config --hls-prefer-native %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
PAUSE
goto m1


Последний раз редактировалось: Gvint64 (2021-02-02 09:50), всего редактировалось 1 раз

[Цитировать]

    nik63
  • 1479
  • Стаж: 8 лет 7 месяцев
  • Сообщений: 500
  • Репутация:19

    [+] [-]
  • Откуда: Башкирия г.Салават
Gvint64, aa Спасибо большое, работает отлично.

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 8 лет 7 месяцев
  • Сообщений: 526
  • Репутация:14

    [+] [-]
  • Откуда: Калининград
nik63, Приветствую aa
еще немного подправил:
1) "goto formatList" и "goto selection" - это лишнее, там и так переход будет - убрал
2) очистка консоли в начале скрипта (чтобы для новой закачки все пошло с чистого листа)
3) добавил обнуление переменных, ато есть риск что в новом проходе подтянется старое значение (если не ввести новое а просто нажать Enter)
4) добавил проверку пустых переменных - если оставить пустое значение, будет повторный запрос (ранее работа продолжась с пустым значением, а на этапе "Select option" скрипт вообще вылетал, если просто нажать Enter)
...

вариант 1

@ECHO OFF
:m1
cls
ECHO ----------------------------------------------------------------------------------------------------------------------
SET "URL="
SET /P URL="[Enter video URL] "
IF "%URL%"=="" (GoTo m1)
ECHO ----------------------------------------------------------------------------------------------------------------------
:formatList
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
youtube-dl -F %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
:selection
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO 1) Video + Audio
ECHO 2) Single format (Audio only / Video only)
ECHO.
:set_option
SET "option="
SET /P option="Select option: "
IF "%option%"=="" (GoTo set_option)
IF %option% == 1 (GoTo download)
IF %option% == 2 (GoTo downloadSingle)
GoTo set_option
:download
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
:set_video
SET "video="
SET /P video="Select video format: "
IF "%video%"=="" (GoTo set_video)
ECHO.
:set_audio
SET "audio="
SET /P audio="Select audio format: "
IF "%audio%"=="" (GoTo set_audio)
ECHO.
youtube-dl -o Downloads/%%(title)s.%%(ext)s -f %video%+%audio% -i --ignore-config --hls-prefer-native %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
PAUSE
GoTo m1
:downloadSingle
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
:set_format
SET "format="
SET /P format="Select format: "
IF "%format%"=="" (GoTo set_format)
ECHO.
youtube-dl -o Downloads/%%(title)s.%%(ext)s -f %format% -i --ignore-config --hls-prefer-native %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
PAUSE
GoTo m1
еще подправил (по совету Ander_73):

вариант 2

@ECHO OFF
:m1
cls
ECHO ----------------------------------------------------------------------------------------------------------------------
SET URL=& SET /P URL="[Enter video URL] "|| GoTo m1
ECHO ----------------------------------------------------------------------------------------------------------------------
:formatList
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
youtube-dl -F %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
:selection
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO 1) Video + Audio
ECHO 2) Single format (Audio only / Video only)
ECHO.
:set_option
SET option=& SET /P option="Select option: "|| GoTo set_option
IF %option% == 1 GoTo download
IF %option% == 2 GoTo downloadSingle
GoTo set_option
:download
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
:set_video
SET video=& SET /P video="Select video format: "|| GoTo set_video
ECHO.
:set_audio
SET audio=& SET /P audio="Select audio format: "|| GoTo set_audio
ECHO.
youtube-dl -o Downloads/%%(title)s.%%(ext)s -f %video%+%audio% -i --ignore-config --hls-prefer-native %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
PAUSE
GoTo m1
:downloadSingle
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
:set_format
SET format=& SET /P format="Select format: "|| GoTo set_format
ECHO.
youtube-dl -o Downloads/%%(title)s.%%(ext)s -f %format% -i --ignore-config --hls-prefer-native %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
PAUSE
GoTo m1


Последний раз редактировалось: cartmenezz (2021-02-02 14:48), всего редактировалось 1 раз

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3609
  • Репутация:127

    [+] [-]
83097SET "URL="
SET /P URL="[Enter video URL] "
IF "%URL%"=="" (GoTo m1)
Классика!
SET URL=& SET /P URL="[Enter video URL] "|| goto m1

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 8 лет 7 месяцев
  • Сообщений: 526
  • Репутация:14

    [+] [-]
  • Откуда: Калининград
Ander_73, aa
получается, если при использовании команды "SET /P" не вводить значение переменной, это не засчитывается за ввод нулевого значания, а расценивается как невыполнение команды "SET /P" (или неудачное выполнение)?
надо взять на вооружение)) так конечно покомпактнее будет)

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3609
  • Репутация:127

    [+] [-]
83099если при использовании команды "SET /P" не вводить значение переменной, это не засчитывается за ввод нулевого значания, а расценивается как невыполнение команды "SET /P" (или неудачное выполнение)?
Да.
Поэтому, если хочется предсказуемого поведения кода, то переменную надо предварительно задать явно (например, обнулить) ab

[Цитировать]

    nik63
  • 1479
  • Стаж: 8 лет 7 месяцев
  • Сообщений: 500
  • Репутация:19

    [+] [-]
  • Откуда: Башкирия г.Салават
cartmenezz, Ander_73 aa Спасибо. Так даже получше будет. az
После закачки видео, можно сделать,что бы сразу всё очищалось для ввода следуещего адреса, без просьбы "нажать для продолжения".

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 8 лет 7 месяцев
  • Сообщений: 526
  • Репутация:14

    [+] [-]
  • Откуда: Калининград
nik63,

без паузы

@ECHO OFF
:m1
cls
ECHO ----------------------------------------------------------------------------------------------------------------------
SET URL=& SET /P URL="[Enter video URL] "|| GoTo m1
ECHO ----------------------------------------------------------------------------------------------------------------------
:formatList
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
youtube-dl -F %URL%
ECHO ----------------------------------------------------------------------------------------------------------------------
:selection
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO 1) Video + Audio
ECHO 2) Single format (Audio only / Video only)
ECHO.
:set_option
SET option=& SET /P option="Select option: "|| GoTo set_option
IF %option% == 1 GoTo download
IF %option% == 2 GoTo downloadSingle
GoTo set_option
:download
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
:set_video
SET video=& SET /P video="Select video format: "|| GoTo set_video
ECHO.
:set_audio
SET audio=& SET /P audio="Select audio format: "|| GoTo set_audio
ECHO.
youtube-dl -o Downloads/%%(title)s.%%(ext)s -f %video%+%audio% -i --ignore-config --hls-prefer-native %URL%
GoTo m1
:downloadSingle
ECHO ----------------------------------------------------------------------------------------------------------------------
ECHO.
ECHO ----------------------------------------------------------------------------------------------------------------------
:set_format
SET format=& SET /P format="Select format: "|| GoTo set_format
ECHO.
youtube-dl -o Downloads/%%(title)s.%%(ext)s -f %format% -i --ignore-config --hls-prefer-native %URL%
GoTo m1
вот только надо ли? с этой программой не работал, там нет вывода инфы по завершении? когда есть пауза проще оценить результат, для скачивания следующего видео ведь всеравно нужно присутствовать и вручную все вводить

[Цитировать]

    nik63
  • 1479
  • Стаж: 8 лет 7 месяцев
  • Сообщений: 500
  • Репутация:19

    [+] [-]
  • Откуда: Башкирия г.Салават
cartmenezz, aa Спасибо.По окончании работы программы, ни какой ифы не выдаётся. Так что всё хорошо.

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 8 лет 7 месяцев
  • Сообщений: 526
  • Репутация:14

    [+] [-]
  • Откуда: Калининград
Всем привет.
На днях открыл для себя дополнения для CMD от Хорста Шеффера (когда пытался нагуглить более подробные разъяснения по параметрам для FileToOpen - как оказалось эта утилита из состава Wfile Хорста Шеффера). Естественно, я начал скачивать и смотреть все это добро....
возник вопрос:
Wfolder вообще никак нельзя заставить работать с кириллицей в путях? Может кто-то активно пользуется и разобрался?
Прописать chcp 1251 перед командой не помогает (в отличии от FileToOpen).
Ander_73, заметил что у Вас эта утилита используется в Winst.
Конечно, при установке логично использовать короткие пути на латинице, так что наверное там этот момент неособо важен. Но может быть Вы изучали эту проблему? Никак не победить?

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3609
  • Репутация:127

    [+] [-]
cartmenezz, aa
Никаких "коротких путей на латинице". WInst работает с любыми (ну, я так думаю :)
Я не понял, в чём проблема? Вот кусок кода из WInst:
%chcp_ACP%
set Drivers=& for /f "tokens=1*" %%a in (
'%\%\WFolder rem %~d0\ "%ui030%" /noquote /center'
) do set "Drivers=%%b"
%chcp_OEMCP%
Для русской Винды "%chcp_ACP% = chcp 1251" и "%chcp_OEMCP% = chcp 866". Остальные переменные несущественны.

Страница 41 из 89


Показать сообщения:    

Текущее время: 25-Апр 23:27

Часовой пояс: UTC + 3


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