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

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

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

Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

cchameleone



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

Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!! Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте батник без пробелов.
 
Примечание: Большие куски кода заключайте в тэг [ 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 (PDF). Курс лекций для начинающих
· Бокалий В. Командная строка (pdf-брошюрка в 20 страниц)
· Александров А., Дибров А. Урок bat-аники (pdf)
· Уильям Р. Станек - Командная строка Windows. Справочник администратора
 
· Скрываем консольные окна, Выполнение BAT-скриптов без вызова окна консоли
· cmdow — изменение параметров и видимости дос-окна, Статья в КОМПЬЮТЕРРАONLINE
· Набор GNU утилит для win32
· HS_Packet.7z - Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· blat — отправка почты из консоли
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Easy Batch Builder+Rus+Crack - Редактор BAT файлов.Через графический интерфейс программы вы сможете быстро конструировать пакетные файлы практически любой сложности. (В комплекте есть Лоадер созданный с помощью Sign Of Misery некоторые антивирусы обзывают его вирусом. Вам решать: ставить или не ставить) (ЗЕРКАЛО)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек) ещё и ещё
· Переход из 32-битной версии cmd.exe в 64-битную (1) (2)(3)

Всего записей: 2279 | Зарегистр. 16-10-2015 | Отправлено: 09:22 29-04-2016 | Исправлено: Maz, 08:47 26-03-2020
rbvl

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, с батниками еле дружу на начальном уровне. Подскажите, пожалуйста. Не могу сделать без goto. Делаю if в if и ничего не работает. Смысл задачи выполнить сценарий diskpart, лежащий рядом, как-бы с защитой от дурака "каптчей". Вот простенько, но хочу без goto.
 
Подробнее...

Всего записей: 401 | Зарегистр. 13-03-2014 | Отправлено: 06:12 16-10-2019
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jonmey
Ты сторонник теории заговоров?

Цитата:
+продвинутое цитирование сообщений, как бэ намекает, что перед нами вовсе не новичок форума...  

Из всей тирады заинтересовало это. То бишь, что это такое "продвинутое цитирование"?

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 06:17 16-10-2019
Jonmey

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

Цитата:
Ты сторонник теории заговоров?

Богатый сетевой опыт подкрепленный фактами, полученными, скажем так, разными путями. Ну и форум, как бы, знакомый, почитай, с момента его образования.
Но это вовсе не означает, что желаю чтобы все мне верили. Даже напротив - чем больше народу пребывает в розовых очках, тем лучше, в том числе и для меня. Поэтому, означенным юзерам настоятельно не рекомендую меня слушать, дабы не портить картину собственного мира. Не говоря уже о персонажах, которых упоминаю.
Кстати, тут на форуме есть топики, в которых клоны составляют чуть менее, чем всех участников темы. Но я вам этого не говорил.

Цитата:
Из всей тирады заинтересовало это. То бишь, что это такое "продвинутое цитирование"

Вообще-то версию для печати никто не отменял. Если и она не поможет - значит я прав вдвойне.

Всего записей: 1319 | Зарегистр. 17-01-2011 | Отправлено: 07:35 16-10-2019 | Исправлено: Jonmey, 07:44 16-10-2019
Alex_Piggy

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

Цитата:
Что-то не работает к сожалению.

УМВР. https://www.upload.ee/files/10602659/2019_10_13.zip.html

Цитата:
немного упростили...
Папку создает, файлы перекидывает. Но почему то вообще все. В т.ч. и сам батник.  
 screenshots.found тоже создает, но ничего в него не записывает.

Вы оставили строку с "%~1".Подробнее...
Winrar скорее всего спотыкается из-за слеша в конце имени архива(а не папки).
И почему Вы не используете переменную target при архивации?
 
Jonmey
Да, спасибо, про представление даты в региональных настройках я не предупредил.  
У меня дата "dd.MM.yyyy" - "16.11.2019" " 5.01.2020". Впрочем - "папка создается"

Цитата:
+"продвинутое цитирование"?

Тоже интересует... Пока я увидел только моря новичка + кнопка цитировать.

Впрочем, неважно. Направление мыслей я понял.
 
rbvl
Выйти из батника - "exit" или "goto :EOF"

Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 07:47 16-10-2019 | Исправлено: Alex_Piggy, 07:54 16-10-2019
YuS_2



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

Цитата:
Вообще-то версию для печати никто не отменял. Если и она не поможет - значит я прав вдвойне.

Нет. В данном случае, интересен момент твоего именно понимания, что такое продвинутое цитирование. В моем понимании, там самое обычное цитирование, доступное в движке форума каждому, причем без дополнительных инструментов.
А продвинутым, можно понимать примерно такое:
 16-10-2019
 
 
Добавлено:
rbvl

Цитата:
как-бы с защитой от дурака "каптчей".

На счет защиты - это громко сказано, ибо в таком варианте привести к краху весь сценарий легко, достаточно ввести недопустимые спецсимволы, вместо кода.

Цитата:
Вот простенько, но хочу без goto.

Вместо:

Код:
goto 44

впишите:

Код:
pause&exit /b

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 07:51 16-10-2019
Jonmey

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

Цитата:
интересен момент твоего именно понимания

Если вас интересует моя скромная персона, то можете создать топик в соответствующем разделе. Написать там список вопросов ко мне и пригласить меня в него. Ферштейн?

Цитата:
 В моем понимании, там самое обычное цитирование

Значит я прав вдвойне (речь об обсуждаемом сообщении, написанном несколько постов назад). Потому что вы, даже, не туда смотрите, судя по вашим заявлениям.

Всего записей: 1319 | Зарегистр. 17-01-2011 | Отправлено: 08:13 16-10-2019 | Исправлено: Jonmey, 08:17 16-10-2019
rbvl

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как батником запустить скажем Total Commander, чтобы не висело окно консоли? Например я запускаю

Код:
cd /d ...
TOTALCMD64.EXE

а окно висит, пока не закрою TC. Простите за тупые вопросы, искать нет времени.

Всего записей: 401 | Зарегистр. 13-03-2014 | Отправлено: 08:33 16-10-2019
YuS_2



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

Цитата:
Ферштейн?  

Оффтопишь и выводишь непонятные теории здесь, а вопросы задавать просишь там... железная логика.
 

Цитата:
Значит я прав вдвойне (речь об обсуждаемом сообщении, написанном несколько постов назад). Потому что вы, даже, не туда смотрите, судя по вашим заявлениям.

Всё понятно. "я прав, потому, что я прав" - тоже пример искрометной логики.  
Вместо того, чтобы пучить щеки, ткнул бы ссылочкой и объяснил бы, что имеешь в виду...
Человек написал 4 сообщения, ни в одном из которых нет никакого особого цитирования, недоступного из интерфейса форума, о чем тебя и спросил, что именно ты подразумеваешь, говоря о "продвинутом цитировании". Сложно объяснить или в чем проблема?
И да, никаких заявлений пока ещё не делал, всего лишь, объяснил свое понимание термина, а вот ты напротив, почему-то развивая теорию клонов, ничего объяснять не хочешь. Так может развивать её просто надо не здесь, чтобы не задавали неудобных вопросов тебе лично.

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 09:55 16-10-2019
iglezz

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

Код:
start TOTALCMD64.EXE


Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 10:08 16-10-2019 | Исправлено: iglezz, 10:08 16-10-2019
Jonmey

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

Цитата:
непонятные теории

То есть, все, что неподвластно вашему сознанию  - оффтоп и поиск заговора.
Очень знакомо  - где-то это уже слышал. Полагаю на этом этом мы с вами и закончим.
Если возникнет непреодолимое желание продолжить, то выше я привел рецепт, как это сделать на законных основаниях.
И да, благодаря упомянутому калькированному лексикону, начинаю думать "И ты Брут..." Нехорошо.

Всего записей: 1319 | Зарегистр. 17-01-2011 | Отправлено: 10:17 16-10-2019 | Исправлено: Jonmey, 10:40 16-10-2019
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В переменной %Indices% содержится одно или несколько целых чисел разделенные запятой, из переменной нужно убрать повторяющиеся числа, а так же числа, которые больше, чем число, указанное в переменной %TotCntIndex%.

Код:
SET TotCntIndex=5
SET Indices=1,3,5,3,7
 
FOR %%I IN (%Indices%) DO (
  IF NOT DEFINED X%%I IF NOT DEFINED Index (IF %%I LEQ %TotCntIndex% SET "Index=%%I") ELSE (IF %%I LEQ %TotCntIndex% SET "Index=!Index! %%I")
  SET X%%I=*
)
FOR /F "Tokens=1 Delims==" %%I IN ('SET X') DO SET %%I=
 
ECHO %Index%

Данный код справляется с моей задачей, на выходе получаем результат "1 3 5" (запятые не нужны). Хотелось бы посоветоваться со здешними гуру, плиз, данный способ сойдет или есть более простой/изящный вариант? И как лучше всего потом очистить все переменные %X%? Заранее спасибо.

Всего записей: 3704 | Зарегистр. 29-01-2005 | Отправлено: 13:55 16-10-2019 | Исправлено: boss911, 13:58 16-10-2019
GCRaistlin



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

Цитата:
 как лучше всего потом очистить все переменные %X%?


Код:
 
SET TotCntIndex=5
SET Indices=1,3,5,3,7
setlocal enabledelayedexpansion
 
FOR %%I IN (%Indices%) DO (
  IF NOT DEFINED X%%I IF NOT DEFINED Index (IF %%I LEQ %TotCntIndex% SET "Index=%%I") ELSE (IF %%I LEQ %TotCntIndex% SET "Index=!Index! %%I")
  SET X%%I=*
)
endlocal & set Index=%Index%
 
ECHO %Index%
 


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

Всего записей: 4000 | Зарегистр. 18-04-2005 | Отправлено: 14:16 16-10-2019
Igorekk1981

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее... [/more]

Всего записей: 5 | Зарегистр. 14-10-2019 | Отправлено: 00:00 17-10-2019 | Исправлено: Igorekk1981, 00:03 17-10-2019
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Igorekk1981
Как бы там ни было, пока вы не начнете пытаться вникать в код, который вам предлагают, толку будет ноль.

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

Всего записей: 4000 | Зарегистр. 18-04-2005 | Отправлено: 01:59 17-10-2019
Jonmey

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
Благодарное дело помогать "полным" новичкам или реально подготовленным юзерам.
Первые, условно говря, сделают все буквально, как скажешь, даже если неправильно.
Типа, скажешь помыть полы - помоют, и линолеум, и паркет или натрут вместе с паркетом и линолеум. Некритично.
Вторые - просто сделают, как сказано и правильно.Подробнее

Всего записей: 1319 | Зарегистр. 17-01-2011 | Отправлено: 03:18 17-10-2019 | Исправлено: Jonmey, 03:20 17-10-2019
rbvl

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По готовому учиться всегда легче, сразу смысл выполняемого усваивается.
Задача простая простая в файле 1.txt найти строку, начинающуюся с "select disk" и вывести номер диска

Код:
select disk 2
clean
create partition primary size=10250
format quick fs=exfat label=SanDisk
assign letter=s noerr
create partition primary
format quick fs=fat32 label=WinPE
active
assign letter=p noerr

Вроде просто for /f "eol=.. tokens=.." %%A in (1.txt) do .. но без примеров не соображу. Справку хорошую найти не могу. Может есть у кого?

Всего записей: 401 | Зарегистр. 13-03-2014 | Отправлено: 07:11 17-10-2019
RetroRocket



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rbvl
Цитата:
в файле 1.txt найти строку, начинающуюся с "select disk" и вывести номер диска
Можно так:
Код:
for /f "tokens=3 delims== " %%A in ('"type 1.txt|find /i "select disk""') do echo %%A


----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 2685 | Зарегистр. 02-01-2018 | Отправлено: 07:22 17-10-2019
rbvl

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RetroRocket
Спасибо заработало. Вот то же самое делал, только без кавычек и  tokens не правильно. Будем знать. )

Всего записей: 401 | Зарегистр. 13-03-2014 | Отправлено: 07:37 17-10-2019
GCRaistlin



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

Цитата:
данный способ сойдет или есть более простой/изящный вариант?

Нет гарантии, что переменные X<index> уже не определены на момент выполнения.

Код:
 
@echo off
 
SET TotCntIndex=5
SET Indices=1,3,5,3,7
setlocal enabledelayedexpansion
set KnownIndices=_
 
FOR %%I IN (%Indices%) DO (
  IF !KnownIndices!==!KnownIndices:_%%I_=! (
    IF NOT DEFINED Index (IF %%I LEQ %TotCntIndex% SET "Index=%%I") ELSE (IF %%I LEQ %TotCntIndex% SET "Index=!Index! %%I")
    set KnownIndices=!KnownIndices!_%%I_
  )
)
endlocal & set Index=%Index%
 
ECHO %Index%
 


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

Всего записей: 4000 | Зарегистр. 18-04-2005 | Отправлено: 17:46 17-10-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такая напоминалка полезна или нет?
Подробнее...
 
Добавлено:
А то у меня тут недавно вместо рабочего стола и панели задач, чёрный экран был, и я начал вспоминать как что запускается.
Кстати сеть не запускалась из папки сетевые подключения, хорошо что IE вызывал старую менюшку с именем и паролем, через неё и включал.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 21:27 17-10-2019 | Исправлено: VVL99, 19:13 18-10-2019
   

Страницы: 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 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Maz (19-09-2020 13:36): Командная строка, батники, сценарии (bat, cmd) Часть 6


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru