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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

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

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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA
Может, у вас в конце строки просто пробел идет?
 
Jonmey
Это не про пробел, а про перевод строки.

----------
Magically yours
Raistlin

Всего записей: 4368 | Зарегистр. 18-04-2005 | Отправлено: 04:56 12-06-2025
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA, '/, ?/.' должны экранироваться.

Код:
sed 's/^/https:\/\/1011154949\.vnns\.net\/CDN-FPT\/HTVC-GIADINH-HD-ABR\/HTV-ABR\/HTVC-GIADINH-HD-1080p\/chunks\.m3u8\?XSignKey=/g'


Всего записей: 7941 | Зарегистр. 08-09-2001 | Отправлено: 09:53 12-06-2025
LZAA

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
                                 GCRaistlin
 
      К сожалению, пробел , всё же, создаётся.  
      Иллюстрация (пример):

Код:
C:\Users\X\Desktop>for /f delims^= %A in ('curl -s -X post -H "Authorization: Basic eGRybWtleTpYSHR2QHRtc1BAc3N3MHJk" "https://drmv2.hplus.com.vn/api/token" ^| jq -Mr .Token') do echo %A | notepad.exe
 
C:\Users\X\Desktop>echo eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiWC1EUk0iLCJqdGkiOiJmYTRlZTE1Yy1mOGUxLTQwYzUtYWE0ZS05NGZjYTI3Mjc3ZDgiLCJleHRyYURhdGEiOiJUaGlzIGlzIGFkZGl0aW9uYWwgZGF0YSB0byBpbmNyZWFzZSB0aGUgcGF5bG9hZCBzaXplLiIsImV4cCI6MTcyNDEzMjc3OSwiaXNzIjoiaHR2Yy5jb20udm4iLCJhdWQiOiJodHZjLmNvbS52biJ9.iJCmZpy3FfWcvRFqaOyc9ZvSFfJgCe78167HbfOSKQg   | notepad.exe
 

   Также можно вывод в 'x.txt' перевести и там этот пробел тоже виден.
 
                                     los
 
    С экранированием команда работает корректно. Спасибо за помощь.
    Ещё такой вариант интересует. Есть команда:
 
    sed "s/^/xxx/g"
 
    Она выводит - 'xxxyyy'. Можно ли сделать, чтобы выводилось - ''yyyxxx"?

Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 11:43 12-06-2025 | Исправлено: LZAA, 12:11 12-06-2025
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA
Ну еще бы. Вы же его сами добавляете перед "|":

Цитата:
echo %A | notepad.exe


----------
Magically yours
Raistlin

Всего записей: 4368 | Зарегистр. 18-04-2005 | Отправлено: 12:49 12-06-2025
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA,
sed "s/$/xxx/g"

Всего записей: 7941 | Зарегистр. 08-09-2001 | Отправлено: 13:00 12-06-2025
LZAA

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

                               GCRaistlin
   
       Я в этих пакетных командах не очень силён. Я просто заметил, что обычно перед '|' пробел ставится. Теперь понятно, что это нужно не всегда. С этим разобрались.
 
                               los
 
        OK.
 
       Спасибо всем за помощь. Задача решена.
 

Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 13:14 12-06-2025
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA
Пробел там ставится исключительно для улучшения читаемости. Можно так:

Код:
 
(echo %A) | ...
 


----------
Magically yours
Raistlin

Всего записей: 4368 | Зарегистр. 18-04-2005 | Отправлено: 13:25 12-06-2025 | Исправлено: GCRaistlin, 13:27 12-06-2025
LZAA

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

       Неплохо было бы пробел перед '|' сохранить - привык уж. Но я, наверное, опять что-то неправильно сделал:
 

Код:
C:\Users\X\Desktop>for /f delims^= %A in ('curl -s -X post -H "Authorization: Basic eGRybWtleTpYSHR2QHRtc1BAc3N3MHJk" "https://drmv2.hplus.com.vn/api/token" ^| jq -Mr .Token') do (echo %A) | notepad.exe
 
C:\Users\X\Desktop>(echo eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiWC1EUk0iLCJqdGkiOiJmYTRlZTE1Yy1mOGUxLTQwYzUtYWE0ZS05NGZjYTI3Mjc3ZDgiLCJleHRyYURhdGEiOiJUaGlzIGlzIGFkZGl0aW9uYWwgZGF0YSB0byBpbmNyZWFzZSB0aGUgcGF5bG9hZCBzaXplLiIsImV4cCI6MTcyNDEzMjc3OSwiaXNzIjoiaHR2Yy5jb20udm4iLCJhdWQiOiJodHZjLmNvbS52biJ9.iJCmZpy3FfWcvRFqaOyc9ZvSFfJgCe78167HbfOSKQg )  | notepad.exe

Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 15:12 12-06-2025
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA
Похоже, это причуды в работе конвейера: после вывода команды в скобках по нему передается лишний пробел:

Код:
 
(for /f "delims=" %A in ('echo 1') do echo %A)|more> tmpfile
 

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

----------
Magically yours
Raistlin

Всего записей: 4368 | Зарегистр. 18-04-2005 | Отправлено: 15:58 12-06-2025 | Исправлено: GCRaistlin, 15:58 12-06-2025
LZAA

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

      OK. Ничего 'заворачивать' не будем. Просто пробел перед '|' не будем использовать. Это нормальное решение.

Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 16:06 12-06-2025
alex52mail

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Разбираюсь с qemu-9  и  2  вопроса.
 
  Запустил Qemu Virtual Machine Manager и например в хосте в  top -  видна длинная за экран строка
qemu-system-x86_64  ..........
   1).    Как  в Linux скопировать  всю  строку любой  выполняемой  команды со всеми параметрами ?
 
   Разбирался с настройками сеть, аудио  ... - по пока запускаю так:
Цитата:
 
clear
hw=" -k ru  -audiodev id=alsa,driver=alsa  -net nic,model=virtio -net user  -usb "
dr=/run/vdisk/host/Downloads   #  lmde error while loading shared libraries: libcapstone.so.4
dr=/run/initramfs/memory/data/Downloads   #  minios
drv="-drive format=raw,file=/dev/sda"
iso="-cdrom $dr/bluefin-stable-x86_64.iso"
hd=" -hdb  $dr/bluefin.vdi"
bt="-boot d"  #  floppy (a), hard disk (c), CD-ROM (d), network (n)  
 
sudo qemu-system-x86_64  -m 4096  -cpu host -smp $(nproc)  -enable-kvm  $hw  $iso  $hd  $drv  -boot d  -bios OVMF.fd
 

Ноут 2011 года  ProBook 4530s  i7-27600QM
Сеть есть но вроде медленная:  c винды до провайдера ping 1 ms  - а  с qemu ping 7 ms  
Звука нет.
 
   2).  Как правильно и полно прописать:  чтобы в qemu были  оптимальные  сеть,  звук,  SATA-3 , USB-3 - все что есть в хосте ?
 
Удачи.

----------
Везде трудно первые 15 лет, потом легче.
Все проблемы имеют ПРОСТОЕ решение
Ты начальник я дурак я начальник ты дурак. Но хуже дурака дурак с инициативой.

Всего записей: 1989 | Зарегистр. 04-09-2015 | Отправлено: 12:43 17-06-2025 | Исправлено: alex52mail, 12:52 17-06-2025
korrdenn



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос - как задать строку, где выполнение будет приостановлено до любого действия?
К примеру - вызывается программа - где нужно руками выбрать определенный параметр и нажать на ок, и только тогда команда должна продолжаться?  
 
немного конкретики. у пользователя слишком большая база оутлука. и часто бывает - зависает она. Я для него сделал батник, где прописал вначале закрытие программы, после ее запуск безопасном режиме. Потом ожидание 30 сек (чтобы все прогрузилось), потом закрытие программы и запуск в нормальном режиме. Именно такое действие помогает.  
 
@echo off  
taskkill /f /im outlook.exe
start "" OUTLOOK.EXE /safe
timeout /t 30 /nobreak
taskkill /f /im outlook.exe
start "" OUTLOOK.EXE
 
Все бы ничего, но при запуске оутлука в безопасном режиме - вначале появляется окошко с выбором профиля - типа Профиль = основной, нажмите ОК или Закрыть. И тут нужно чтобы пользователь нажал на ОК мышкой или просто нажал Ентер - если окошко активное. и только после этого нужно чтобы батник продолжал действие. буду рад подсказке.

Всего записей: 32 | Зарегистр. 26-10-2005 | Отправлено: 12:35 19-06-2025
BorlandIMHO

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
korrdenn
Средств, которые из батника контролировали бы нажатие кнопки в гуёвом приложении просто нет.
Зато у аутглюка есть параметр запуска /profile, чтобы лишних вопросов не задавал...

Всего записей: 3047 | Зарегистр. 12-10-2006 | Отправлено: 12:55 19-06-2025
korrdenn



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не помогает, параметр profiles - вызывает окно выбора профиля.  
Параметр safe - запуск в безопасном режиме тоже вызывает окно выбора профиля перед запуском.  
В любом случае нужно действие пользователя. Вот если б можно было прописать, мол - батник действует до момента вызова программы в безопасном режиме и ждет. Ждем момента когда пользователь нажмет на кнопку выбора профиля. В большинстве случаев выбирается/подтверждается основной профиль.
 
Добавлено:
а - все, разоьрался. Благодарствую
прописал  
start "" OUTLOOK.EXE /safe /profile OUTLOOK
и больше вопросов не было

Всего записей: 32 | Зарегистр. 26-10-2005 | Отправлено: 13:12 19-06-2025
DeZz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
такое насочинял send2ffmpeg.bat
хотелось бы послушать критику
спасибо

Всего записей: 1356 | Зарегистр. 23-01-2006 | Отправлено: 11:33 02-07-2025 | Исправлено: DeZz, 15:55 13-07-2025
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DeZz
Не будет работать, если в путях или именах есть "!".

----------
Magically yours
Raistlin

Всего записей: 4368 | Зарегистр. 18-04-2005 | Отправлено: 11:40 02-07-2025 | Исправлено: GCRaistlin, 22:42 02-07-2025
DeZz



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

Всего записей: 1356 | Зарегистр. 23-01-2006 | Отправлено: 12:03 03-07-2025
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DeZz
Если в параметрах присутствует *, ? или неокавыченная ")", работать не будет.

----------
Magically yours
Raistlin

Всего записей: 4368 | Зарегистр. 18-04-2005 | Отправлено: 22:21 03-07-2025
DeZz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
не пойму в каких параметрах? можно пример?

Всего записей: 1356 | Зарегистр. 23-01-2006 | Отправлено: 10:00 04-07-2025
virjokk



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DeZz
Скрипт ведь обрабатывает имена файлов, а они могут быть какими угодно

Всего записей: 482 | Зарегистр. 19-05-2006 | Отправлено: 11:49 04-07-2025 | Исправлено: virjokk, 11:49 04-07-2025
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 41 42 43 44

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru