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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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)

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

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

Всего записей: 5 | Зарегистр. 14-10-2019 | Отправлено: 23:40 15-10-2019
Jonmey

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

Цитата:
немного упростили

Но если посмотреть на предложенное вам и ваш "упрощенный" вариант, то складывается впечатление прямо противоположное (тем более, в вашем "упрощенном варианте" имеется явная попытка задействовать функционал батников, который новички не задействовали бы). Да и хотелки "упрощенного" варианта явно выходят за рамки первоначально озвученного по пунктам задания. Откуда вытекает подозрение, что "супруга-то - ненастоящая". Со всем вытекающими для помощников потенциальными проблемами.
Поэтому внимательный читатель поймет к чему это я:  "Иногда они возвращаются..."
P.S. +продвинутое цитирование сообщений, как бэ намекает, что перед нами вовсе не новичок форума...
P.P.S. Если уж втихаря прислушиваетесь к моему совету

Цитата:
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a -r C:\CMD\Screenshots_%DATE%.rar\ C:\CMD\Screenshots_%DATE%  

то прислушивайтесь внимательнее:
-либо используйте соответствующий ключ для даты в названии архива из WinRAR
-либо используйте соответствующее представление даты в батниках
Сейчас ваша дата выглядит как
Tue 10/15/2019
что явно не будет работать.
И после названия файла слэша быть не должно, поскольку в противном случае это интерпретируется, как название папки.
Для задания типов архивируемых файлов в WinRAR можно поступить двояко
- опредилить профиль архивации (через GUI программы), в котором указать все неизменные параметры создания архивов, в том числе и типы файлов (*.jpg;*.png и проч.), сохранить этот профиль напр. под именем ScreenArc, тогда вызов его в командной строке при архивации будет выглядеть, как
winrar a -cpScreenArc ...  
- либо перечислять расширения (и другие параметры архивации) в командной строке в явном виде
winrar a "x:\folder\screen.rar" "x:\folder\*.jpg" "x:\folder\*.png"
или используя ключ -n
winrar a -n*.jpg -n*.png "x:\folder\screen.rar"  "x:\folder\"
 
Наконец, вам логичнее использовать не операцию архивирования (winrar a), а операцию перемещения файлов в архив (то есть, архивация и последующее удаление исходных файлов после успешного арзивирования):
winrar m ...
 
И да, обратите внимание на ключи
-r (включить в обработку подпапки)
-r- (исключить из обработки подпапки)
если в папке, в которой лежат ваши скрины имеются другие подпапки, содержимое которых не должно (или наоборот должно) быть включено в обработку.
 
P.P.P.S. настоятельно рекомендую рассказы о "супруге" оставить до лучших времен.
P.P.P.P.S. Еще более настоятельно рекомендую перейти на ТС, в котором решатся многие ваши проблемы, и все свои батники вы сможете повестить на кнопки, превратив мучения в игру. Для вас, главное в этом то, что востребованные вами переменные (напр., имя файла, список файлов, название папки - назначения и источника и т.п. будут передаваться батнику автоматом, тогда как их выбор будет осуществляться вами в визуальном режиме).

Всего записей: 1173 | Зарегистр. 17-01-2011 | Отправлено: 23:53 15-10-2019 | Исправлено: Jonmey, 01:24 16-10-2019
Igorekk1981

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

Всего записей: 5 | Зарегистр. 14-10-2019 | Отправлено: 01:21 16-10-2019
Jonmey

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Igorekk1981
Под основным акком писать "супруга" не позволяет? Или "основных" уже так много, что невозможно выбрать "самый основной" и приходится каждый раз заводить новый?
Мне впрочем, все равно, поскольку чаще всего, пишу, рассчитывая на некий круг юзеров, с целью облегчить им жизнь, обращая внимание на очевидные вещи, о которых часто забывают и лезут в бутылку в поисках решения задачи. В противном случае не стал бы персонально отвечать, тратя время на тех, кто априори не испытывает уважения к потенциальным помошникам, держа их за идиотов.
P.S. У всех клонов (мира. а не только рунета), есть общая ахиллесова пята, о которой они не задумываются, а если и задумываются, то не в состоянии ее преодолеть: особое, ярко выраженное безликое написание сообщений, которое призвано как бы скрыть клоноводческую природу автора, но эффект достигается прямо противоположный: если вы видите такие сообщения, даже в общем-то известного юзера, то можно с высочайшей долей гарантии сказать, что у него более чем один акк на данном ресурсе и оное вызвано вовсе не тривиальными и бытовыми причинами - бан акков, потеря пароля и т.д. А соответственно стоит быть крайне осторожным с такими виртуальными персонажами.

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



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

Цитата:
Супруга пошла на курсы тестировщика) вот ей и дали.

Тестировщика чего? Что-то мне тоже стало интересно.

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

Всего записей: 3037 | Зарегистр. 18-04-2005 | Отправлено: 01:32 16-10-2019
rbvl

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

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



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

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

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

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

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

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

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

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

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

Всего записей: 1173 | Зарегистр. 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"

Всего записей: 1825 | Зарегистр. 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

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

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

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

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

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

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

Всего записей: 1173 | Зарегистр. 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 сообщения, ни в одном из которых нет никакого особого цитирования, недоступного из интерфейса форума, о чем тебя и спросил, что именно ты подразумеваешь, говоря о "продвинутом цитировании". Сложно объяснить или в чем проблема?
И да, никаких заявлений пока ещё не делал, всего лишь, объяснил свое понимание термина, а вот ты напротив, почему-то развивая теорию клонов, ничего объяснять не хочешь. Так может развивать её просто надо не здесь, чтобы не задавали неудобных вопросов тебе лично.

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

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

Код:
start TOTALCMD64.EXE


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

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

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

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

Всего записей: 1173 | Зарегистр. 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%? Заранее спасибо.

----------
Мама не горюй

Всего записей: 3573 | Зарегистр. 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

Всего записей: 3037 | Зарегистр. 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

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

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

Всего записей: 1173 | Зарегистр. 17-01-2011 | Отправлено: 03:18 17-10-2019 | Исправлено: Jonmey, 03:20 17-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru