Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии: bat, cmd

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
часть 1 | часть 2 | часть 3 | часть 4 | часть 5 | часть 6
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ more ].  

Смежные темы:
В помощь системному администратору > Автоматизация администрирования
Microsoft Windows > Сценарии Windows

Полезные ссылки:
· Из Windows XP Professional Product Documentation:
> Описание Cmd.exe > Command shell overview
> Using batch files > Using batch parameters > Using filters > Using command redirection operators
 
· Уроки bat-аники (для начинающих): первый и второй
· Курс из 19 лекций "Командная строка и сценарии Windows"
· Уильям Р. Станек - Командная строка Windows. Справочник администратора
 
· Выполнение BAT-скриптов без вызова окна консоли
· cmdow - изменение параметров и видимости дос-окна, Статья в КОМПЬЮТЕРРАONLINE
· Набор GNU утилит для win32
· HS_Packet.7z - Пакет утилит для организации интерфейса в bat-файлах
· blat - отправка почты из консоли
· Easy Batch Builder+Rus+Crack - Редактор BAT файлов.Через графический интерфейс программы вы сможете быстро конструировать пакетные файлы практически любой сложности. (В комплекте есть Лоадер созданный с помощью Sign Of Misery некоторые антивирусы обзывают его вирусом. Вам решать: ставить или не ставить) (ЗЕРКАЛО)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек) ещё и ещё
· Переход из 32-битной версии cmd.exe в 64-битную (1) (2)(3)
 
· Архив всевозможных версий cmd.exe (от Windows NT 3.10 до Windows 11 +Win95cmd +ReactOS) и command.com (DOS 5.0 и выше). Старые командные процессоры можно запускать на более новых ОС, хотя не всё может работать корректно. Подробная документация по командам cmd.exe и стандартным утилитам ОС для NT 3.51, NT 5.0 (Windows 2000) и NT 5.2 (Windows Server 2003). Сборник представляет исторический интерес, а также незаменим для тех, у кого появилось желание сделать свои скрипты работоспобными не только на своей версии ОС.
 
· Большой сборник одним архивом: Сотни Win32 утилит командной строки, нетривиальные .cmd файлы, .bat miniperl скрипты (не требующие полноценной установки Perl), FAR Manager с плагинами и настройками, разное для DOS/DOSBox (откуда под Win32 интерес представляют три продвинутых "мультисистемных" .bat файла да ещё, может быть, оболочка Necromancer DOS Navigator с поддержкой LFN и доступом к буферу обмена Windows). Краткие описания всего - в файликах files.bbs

Всего записей: 39131 | Зарегистр. 26-02-2002 | Отправлено: 22:41 20-06-2024 | Исправлено: Maz, 21:52 28-09-2024
greeple

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MaraGame24
тебе уже давали вариант с проверкой Командная строка, батники, сценарии: bat, cmd

Всего записей: 5578 | Зарегистр. 11-02-2020 | Отправлено: 11:51 10-11-2024
BorlandIMHO

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MaraGame24

Цитата:
сделать в этом батнике проверку на существование диска "W" в системе ???

Ну, не совсем "на существование", скорее "на доступность для активного пользователя".
Универсальное решение:

Код:
pushd "w:\" && (
    echo Disk w: is avaliable
    popd
) || (
    echo Disk w: is not avaliable
)


Всего записей: 2660 | Зарегистр. 12-10-2006 | Отправлено: 11:56 10-11-2024
MaraGame24



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greeple
Спасибки... не сердитесь, просто чего то не заметили этот код. (невнимательность, старость))))

Всего записей: 774 | Зарегистр. 25-11-2023 | Отправлено: 12:03 10-11-2024 | Исправлено: MaraGame24, 12:29 10-11-2024
Fenrizz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MaraGame24
https://stackoverflow.com/questions/24060404/check-if-drive-letter-exists-in-batch-or-else-goto-another-piece-of-code
 

Код:
if exist w:\ (
    echo exists
) else (
    echo does not exist
)

 

Код:
vol w: >nul 2>nul
if errorlevel 1 (
    echo IT DOES NOT EXIST
) else (
    echo IT EXISTS
)

Всего записей: 690 | Зарегистр. 12-09-2017 | Отправлено: 14:10 10-11-2024
vaskamy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеется батник в котором надо временно отключить часть кода но не получилось ни одним из трёх способов.
Пробовал REM, ::,  
 
Вот часть кода:

Код:
      -map 1:a:0 ^
      -disposition:a:1 none ^
      -metadata:s:a:1 handler_name="English" ^
      -metadata:s:a:1 language="eng" ^
      GOTO comment
      -metadata:s:a:1 title="ENG" ^
      :comment
      -map 0:a:0 ^
      -disposition:a:0 default ^
      -metadata:s:a:0 handler_name="Russian" ^
      -metadata:s:a:0 language="rus" ^
      GOTO comment
      -metadata:s:a:0 title="RUS" ^
      :comment
      -c copy ^
      "%%~ni_multiplexed.mp4"
  )
)
 
pause

 
Ошибка в ком строке такая:

Код:
[AVFormatContext @ 00000000028b7880] Unable to choose an output format for 'GOTO
'; use a standard extension for the filename or specify the format manually.
[out#0 @ 0000000002203100] Error initializing the muxer for GOTO: Invalid argume
nt
Error opening output file GOTO.
Error opening output files: Invalid argument

 
Если эти части кода удалить то скрипт работает нормально а если за комментировать то не выполняется, кто нибудь сталкивался с таким случаем?

Всего записей: 1056 | Зарегистр. 04-03-2017 | Отправлено: 18:50 10-11-2024
BorlandIMHO

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vaskamy

Цитата:
Ошибка в ком строке такая:

Ну вам же программа {ffmpeg или что-то подобное? а впрочем - пофиг } английским по чёрному сообщает, что аргумент 'GOTO' воспринимается ей как имя выходного файла, а остальных аргументов недостаточно для того, чтобы понять, в каком формате вы этот самый выходной файл хотите получить. Просит хотя бы расширение к нему приделать, например 'goto.mp4'...
Ещё раз подчёркиваю: в вашем "коде" goto - не команда оболочки cmd, а параметр запуска {неназванной} программы.
Если вы считаете, что программа неправа и должна воспринимать goto не как имя файла, а как команду - это уже не сюда, а к разработчикам той самой волшебной программы.

Всего записей: 2660 | Зарегистр. 12-10-2006 | Отправлено: 19:15 10-11-2024
vaskamy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
Спасибо я понял что причина в ffmpeg ибо она не воспринимает отключение части кода с помощью комментирования.

Всего записей: 1056 | Зарегистр. 04-03-2017 | Отправлено: 19:21 10-11-2024
BorlandIMHO

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vaskamy

Цитата:
ffmpeg ... не воспринимает отключение части кода с помощью комментирования

Не "части кода", а "части агрументов". Вы пытаетесь "вставить комментарий" посреди списка аргументов...
И вроде бы и не должна, насколь я в курсе её возможностей...
Если вам требуется запускать ffmpeg с разными наборами параметров, то самое, на мой взгляд, правильное решение - написать несколько батников с этими самыми разными наборами.
Если очень хочется извращений - можно и в одном батнике: загнать {в зависимости от неких условий} параметры запуска в переменную {или несколько переменных}, а потом уже значение этой самой переменной передавать ffmpeg в качестве параметра.
Предложить разработчикам {немерянно многофункциональной} ffmpeg встроить в неё ещё и некий интерпретатор скриптов можно, но вот согласятся они на такое навряд ли...

Всего записей: 2660 | Зарегистр. 12-10-2006 | Отправлено: 20:54 10-11-2024
Wu Tang



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не подскажите, может где ошибка.
https://i124.fastpic.org/big/2024/1113/e7/67807b5d7a5fb285fd34cdd68ca195e7.jpg
запускаю с повышением прав через powerrun и все равно не хочет добавлять.
нашел такую же проблему - http://forum.oszone.net/nextoldesttothread-336471.html но я бы не хотел через ps это делать, тк у меня файл с твиками реализован по средствам cmd и reg, а ps таким образом не пускануть.

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3909 | Зарегистр. 15-10-2007 | Отправлено: 05:40 13-11-2024 | Исправлено: Wu Tang, 05:48 13-11-2024
vaskamy



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
 
Комментарий написать всё таки можно %= комент =% но не всегда - в коде не должно быть : % .
Извращение но работает, проверял лично.

Всего записей: 1056 | Зарегистр. 04-03-2017 | Отправлено: 10:20 13-11-2024
MaraGame24



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
del

Всего записей: 774 | Зарегистр. 25-11-2023 | Отправлено: 10:56 13-11-2024 | Исправлено: MaraGame24, 09:01 14-11-2024
Simple Code

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
запускаю с повышением прав через powerrun и все равно не хочет добавлять.

Нужны права TrustedInstaller, и не факт, что получится, т.к. мелкомягкие в новых версиях windows усилили защиту от вмешательств в Windows Defender.

Всего записей: 224 | Зарегистр. 19-11-2022 | Отправлено: 13:07 13-11-2024
Wu Tang



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Simple Code
powerrun умеет и через TI, попробую.
тестирую на win10 ltsc.
ps эти ключи применяются успешно через setupcomplete.cmd при установке оси, но меня такой вариант тоже не устраивает, тк надо применять в живой системе.
 
для интереса написал ps1:

Код:
 
Add-MpPreference -ExclusionPath ('%ProgramFiles%\dControl\dControl.exe','%ProgramFiles%\O&O.ShutUp10\OOSU10.exe','%ProgramFiles%\wumt\wumt.exe')
Get-MpPreference | Select-Object -Property ExclusionPath
 

вручную добавляет, НО так и добавляет буквально - %ProgramFiles% и соответственно такое правило не работает, те PS не понимает переменных.

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3909 | Зарегистр. 15-10-2007 | Отправлено: 00:49 14-11-2024
Jonmey

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wu Tang

Цитата:
для интереса написал ps1:
Код:
Add-MpPreference -ExclusionPath ('%ProgramFiles%\dControl\dControl.exe','%ProgramFiles%\O&O.ShutUp10\OOSU10.exe','%ProgramFiles%\wumt\wumt.exe')
Get-MpPreference | Select-Object -Property ExclusionPath
вручную добавляет, НО так и добавляет буквально - %ProgramFiles% и соответственно такое правило не работает, те PS не понимает переменных.

Add-MpPreference -ExclusionPath ('$env:ProgramFiles\dControl\dControl.exe','$env:ProgramFiles\O&O.ShutUp10\OOSU10.exe','$env:ProgramFiles\wumt\wumt.exe')
Get-MpPreference | Select-Object -Property ExclusionPath

Всего записей: 1377 | Зарегистр. 17-01-2011 | Отправлено: 01:38 14-11-2024
westlife



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonmey
надо в двойных кавычках для переменных
 
Wu Tang
из cmd можно так, нужны админ права:

Код:
start "" /MIN /WAIT PowerShell.exe -NoProfile -NoLogo -Command "Add-MpPreference -ExclusionPath ('%ProgramFiles%\dControl\dControl.exe','%ProgramFiles%\O&O.ShutUp10\OOSU10.exe','%ProgramFiles%\wumt\wumt.exe')"
 

через start чтобы не ломало шрифт вывода, если кодировка в батнике utf-8, можно перед вызовом менять на 1251 вместо start "" /MIN /WAIT
Add-MpPreference легальный метод, все нелегальные которые знал уже не работают, права TI не помогут. может что-то еще придумал кто для обхода.
 
Добавлено:
удалить все добавленные можно так из ps, если будешь тестировать

Код:
Remove-MpPreference -ExclusionPath ((Get-MpPreference | Select-Object -Property ExclusionPath).ExclusionPath)

 
Добавлено:
MaraGame24

Цитата:
Можно ли сделать пропуск

не сильно понял что вам надо, но вот пропуск части кода по типу как у вас сейчас:
код

Всего записей: 1492 | Зарегистр. 12-12-2006 | Отправлено: 02:09 14-11-2024
pressF



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как запустить cmd из bat и выполнить команду?
Вариант со CMD /Q /K start "" H:\Prog\local.exe --surl не подходит как и просто со start. Нужно чтобы как в ручную запустил cmd скопировал H:\Prog\local.exe --surl > Enter, нажал ctrl+c для прекращения, можно заново команды вводить. А так просто тупо окно запускается.

Всего записей: 1315 | Зарегистр. 29-03-2023 | Отправлено: 05:29 14-11-2024
Simple Code

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
вручную добавляет, НО так и добавляет буквально - %ProgramFiles% и соответственно такое правило не работает, те PS не понимает переменных.

для CMD-файла:

Код:
 
@echo off
powershell.exe -NoP -NoL -Ep Bp ^
Add-MpPreference -ExclusionPath @(\"$env:ProgramFiles\dControl\dControl.exe\", \"$env:ProgramFiles\O&O.ShutUp10\OOSU10.exe\", \"$env:ProgramFiles\wumt\wumt.exe\"); ^
Get-MpPreference ^| Select-Object -Property ExclusionPath;
 

или

Код:
 
@echo off
powershell.exe -NoP -NoL -Ep Bp ^
Add-MpPreference -ExclusionPath @('%ProgramFiles%\dControl\dControl.exe', '%ProgramFiles%\O&O.ShutUp10\OOSU10.exe', '%ProgramFiles%\wumt\wumt.exe'); ^
Get-MpPreference ^| Select-Object -Property ExclusionPath;
 

для PS1-фала:

Код:
 
Add-MpPreference -ExclusionPath @("$env:ProgramFiles\dControl\dControl.exe", "$env:ProgramFiles\O&O.ShutUp10\OOSU10.exe", "$env:ProgramFiles\wumt\wumt.exe");
Get-MpPreference | Select-Object -Property ExclusionPath;
 


Цитата:
Add-MpPreference легальный метод, все нелегальные которые знал уже не работают, права TI не помогут. может что-то еще придумал кто для обхода.

Вроде, отключение «защиты от несанкционированного доступа» поможет, но эта та ещё пляска с бубном. И неизвестно, профиксила майкрософт с новыми патчами эту возможность.

Всего записей: 224 | Зарегистр. 19-11-2022 | Отправлено: 14:34 14-11-2024 | Исправлено: Simple Code, 14:57 14-11-2024
SyntaX87



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Youtube HD video downloader

Код:
@echo off
title "Download HD video from Youtube"
REM | input string for video link
:link
cls
:repeat
set /p Link="Link: "
 
if NOT "%link%"=="" (goto app) else (
    cls
    echo.
    echo Error! Please input video link.
    goto :repeat
)
:app
yt-dlp_x86 -S res:720,fps,+codec:avc:m4a "%link%"
 
echo.
echo Done.
pause
 
REM | erase the variable
cls
set Link=
 
REM | request for next action
echo What's next?
echo 1 - Repeat download
echo 2 - Exit
choice /C:12 /n /m "Select 1 or 2:"
if "%errorlevel%"=="1" goto link
if "%errorlevel%"=="2" goto end
 
:end
 
 

 
Youtube fullHD video downloader

Код:
@echo off
title "Download FullHD video from Youtube"
REM | input string for video link
:link
cls
:repeat
set /p Link="Link: "
 
if NOT "%link%"=="" (goto app) else (
    cls
    echo.
    echo Error! Please input video link.
    goto :repeat
)
:app
yt-dlp_x86 -S res:1080,fps,+codec:avc:m4a "%link%"
 
echo.
echo Done.
pause
 
REM | erase the variable
cls
set Link=
 
REM | request for next action
echo What's next?
echo 1 - Repeat download
echo 2 - Exit
choice /C:12 /n /m "Select 1 or 2:"
if "%errorlevel%"=="1" goto link
if "%errorlevel%"=="2" goto end
 
:end
 
 


Всего записей: 91 | Зарегистр. 15-07-2011 | Отправлено: 10:14 15-11-2024
Wu Tang



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonmey
ваш вариант добавляет вот так - https://i124.fastpic.org/big/2024/1116/ce/1ffc3e76c5f87b6f8cbd180a7683d0ce.jpg
 
westlife
добавилось, не совсем понял, а какую лучше кодировку для батника сделать, я тестил в utf8 и oem866  
и возможно ли еще скрыть полностью свернутое окно PS? А то оно промелькивает, батник то я скрываю, а это остается.
 
Simple Code
первый вариант сработал, второй ничего не добавил (в строке отсутствует завершающий символ), третий PS соответственно добавил.
 
ps интересно теперь, какой из способов самый надежный, приоритетно, конечно, через bat файл.

----------
Всему свое время и каждому свой час!
Хочешь жить - умей вертеться!

Всего записей: 3909 | Зарегистр. 15-10-2007 | Отправлено: 06:45 16-11-2024 | Исправлено: Wu Tang, 07:17 16-11-2024
Simple Code

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
и возможно ли еще скрыть полностью свернутое окно PS?


Код:
 
@echo off
powershell.exe -NoP -NoL -Ep Bp -w Hidden ^
Add-MpPreference -ExclusionPath @(\"$env:ProgramFiles\dControl\dControl.exe\", \"$env:ProgramFiles\O&O.ShutUp10\OOSU10.exe\", \"$env:ProgramFiles\wumt\wumt.exe\");
 


Цитата:
ps интересно теперь, какой из способов самый надежный, приоритетно, конечно, через bat файл.

Какой способ удобнее, тот и используйте. Насчёт надёжности, кто знает, что майкрософт в будущем придумает...

Всего записей: 224 | Зарегистр. 19-11-2022 | Отправлено: 10:14 16-11-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии: bat, cmd


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru