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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

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

Maz



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

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ 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.51 до Windows 10) и command.com (DOS 5.0 и выше). Старые командные процессоры можно запускать на более новых ОС, хотя не всё может работать корректно. Подробная документация по командам cmd.exe и стандартным утилитам ОС для NT 3.51, NT 4.0, NT 5.0 (Windows 2000) и NT 5.2 (Windows Server 2003). Сборник представляет исторический интерес, а также незаменим для тех, у кого появилось желание сделать свои скрипты работоспобными не только на текущей версии ОС. Ссылки wdho.ru tinyupload.com dbree.org
 
· Сборник одним архивом: Сотни Win32 утилит командной строки, нетривиальные .cmd файлы, .bat miniperl скрипты (не требующие полноценной установки Perl), FAR Manager с плагинами и настройками, разное для DOS/DOSBox (откуда под Win32 интерес представляют три продвинутых "мультисистемных" .bat файла да ещё, может быть, оболочка Necromancer DOS Navigator с поддержкой LFN и доступом к буферу обмена Windows). Краткие описания всего - в файликах files.bbs

Всего записей: 38025 | Зарегистр. 26-02-2002 | Отправлено: 13:35 19-09-2020 | Исправлено: Maz, 07:16 24-04-2021
GCRaistlin



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

Цитата:
 delims=^=

delims==
 

Цитата:
два последних символа = исчезают

Ожидаемо: это же разделители.

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

Всего записей: 3480 | Зарегистр. 18-04-2005 | Отправлено: 03:23 07-07-2022
notinthewoods



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
delims== выдает абсолютно тот же результат, что и delims=^=
Так как мне сохранить все три символа = в ссылке?

Всего записей: 250 | Зарегистр. 31-01-2015 | Отправлено: 03:33 07-07-2022
GCRaistlin



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

Цитата:
delims== выдает абсолютно тот же результат, что и delims=^=

Это понятно, но команду нужно писать осмысленно. Откуда у вас там взялось "^"?
 

Цитата:
Так как мне сохранить все три символа = в ссылке?

Перебором символов в строке.

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

Всего записей: 3480 | Зарегистр. 18-04-2005 | Отправлено: 03:37 07-07-2022
notinthewoods



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

Цитата:
Перебором символов в строке.

Я не знаю, как это сделать.
 
Кстати, насчет двух последних =
Эти ссылки равнозначны:
https://abc=def==
https://abc=def%3D%3D

Всего записей: 250 | Зарегистр. 31-01-2015 | Отправлено: 03:45 07-07-2022
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
notinthewoods
Считаете количество символов в строке, потом в цикле перебираете:

Код:
 
for /l %%A in (0,1,%Len%) do if %%A neq %Len% (
  set CurChr=%Str:~%%A,1%
  ...
)
 

См. set /?
Многое зависит от того, что вы со строкой делаете. Может, можно и быстрее. А может, и нет. В любом случае FOR с delims тут вам не помощник.

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

Всего записей: 3480 | Зарегистр. 18-04-2005 | Отправлено: 03:59 07-07-2022
notinthewoods



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

Цитата:
Многое зависит от того, что вы со строкой делаете

Да, действительно, я слишком туманно обрисовал задачу. Исходный батник здесь:
http://forum.ru-board.com/topic.cgi?forum=5&topic=50615&start=400#11
Смысл в следующем. Повторю, что когда ссылка вида https://abc:def - батник отрабатывает на ура.
При попытке подстроить этот батник для другого подобного сайта, получается такая картина:
команда

Код:
Echo %%A

выдает правильную ссылку вида https://abc=def==
Конечная цель - подать эту ссылку в неизменном виде сюда, в программу записи:

Код:
StreamLink.exe %1 best

Так вот, проблема в том, что в %1 подается уже https://abc:def, т.е первый символ = заменяется на : и второй, третий символы = исчезают.
Ссылка становится нерабочей - записи нет.

Всего записей: 250 | Зарегистр. 31-01-2015 | Отправлено: 04:43 07-07-2022
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
notinthewoods
А зачем использовать разделитель = во втором случае? Там вполне прокатит : как и в первом.

Всего записей: 10853 | Зарегистр. 11-03-2002 | Отправлено: 04:57 07-07-2022
notinthewoods



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
Вас видимо смутило слово "подстроить". Выражусь точнее: При попытке применить (т.е. ничего не меняя в коде) этот батник для другого подобного сайта, ... и далее по тексту.

Всего записей: 250 | Зарегистр. 31-01-2015 | Отправлено: 05:13 07-07-2022
Pasha_ZZZ



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

Цитата:
Так как разделителем является символ =

А зачем что-то делить вообще? Вы ж сами сказали, что нужна исходная ссылка. В обоих случаях деление происходит по : после https, при чем тут =?

Всего записей: 10853 | Зарегистр. 11-03-2002 | Отправлено: 05:26 07-07-2022
notinthewoods



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

Цитата:
В обоих случаях деление происходит по : после https

Тогда я совсем запутался... Я думал, что речь идет о двоеточии в середине ссылки.
Блин, в предыдущем комментарии я допустил существенную неточность. Если ничего не менять в коде, то ссылка просто обрезается до первого =
Т.е. для программы записи StreamLink.exe ссылка в итоге доходит в таком виде: https://abc
 
Как что-то исправить в коде, чтобы ссылка с этими тремя символами = НЕ МЕНЯЛАСЬ?

Всего записей: 250 | Зарегистр. 31-01-2015 | Отправлено: 05:38 07-07-2022
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
notinthewoods
В кавычки взять не пробовали?

Всего записей: 10853 | Зарегистр. 11-03-2002 | Отправлено: 05:56 07-07-2022
notinthewoods



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
Вот ведь однако... Зациклился на этом двоеточии.
Как водится, ларчик открывался просто...
Спасибо большое.

Всего записей: 250 | Зарегистр. 31-01-2015 | Отправлено: 06:44 07-07-2022
insorg



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Батник
Код:
@schtasks /Create /RU SYSTEM /SC ONSTART /TN "RamDisk R 512M" /TR "%%ComSpec%% /c color 0A & imdisk -a -s 512M -m r: -o rem -p \"/fs:NTFS /Q /Y /a:512 /V:RamDisk\" & md \"R:\Temp\\"" /F

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

Всего записей: 2932 | Зарегистр. 04-11-2010 | Отправлено: 16:04 09-07-2022 | Исправлено: insorg, 16:10 09-07-2022
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
insorg
Дак создать задачу через импорт XML

Всего записей: 10853 | Зарегистр. 11-03-2002 | Отправлено: 16:15 09-07-2022
insorg



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
Нужно батником без промежуточных файлов. XML я сейчас  в качестве примера привожу, чтобы не тыкать скринами в разницу.
Как минимум нужна возможность выполнения при работе от батареи (по умолчанию на этом ставится запрет).

Всего записей: 2932 | Зарегистр. 04-11-2010 | Отправлено: 16:17 09-07-2022 | Исправлено: insorg, 16:41 09-07-2022
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
insorg
schtasks много чего не умеет. Смиритесь.

Всего записей: 10853 | Зарегистр. 11-03-2002 | Отправлено: 16:56 09-07-2022
insorg



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
А имея xml файл его можно импортировать одной командой, не требующей внимания?

Всего записей: 2932 | Зарегистр. 04-11-2010 | Отправлено: 17:50 09-07-2022
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
insorg
Конечно, я поэтому и сказал.
schtasks /create /xml ....

Всего записей: 10853 | Зарегистр. 11-03-2002 | Отправлено: 18:38 09-07-2022
insorg



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

Всего записей: 2932 | Зарегистр. 04-11-2010 | Отправлено: 18:41 09-07-2022
mithridat1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли способ выводить сообщения батника одновременно в консоль и в файл без всяких дополнительных утилит типа tee ?
 
Делаю так
 
set LOGFILE="%~dp0"\filename.log
 
call :run >>%LOGFILE%
 
:run
 
Но при этом в консоль конечно ничего не пишется.

Всего записей: 4632 | Зарегистр. 05-01-2006 | Отправлено: 12:02 13-07-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru