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

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ecть другие маски для имён файлов, кроме * и ? ?
 
Например, есть файлы:
A.AAA
A.BBB
A.CCC
A.DDD
 
Как в указать в команде такое уcловие:
 
удалить файлы с расширением .CCC или с расширением .DDD (без перечесления через запятые) ?
 
или удалить все файлы, если расширение не .AAA и не .BBB ? Возможно ли такое?

Всего записей: 117 | Зарегистр. 09-04-2010 | Отправлено: 15:37 24-10-2018
redson



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть текст вот с таким содержимым, чем его прочитать (это отрывок из файла):
 
tMЩ░v)iЬ%б@ЫZ`U[Hн0З V.ГБнpўЫт'ь═УlБ!┘Q║Єк▐░

Всего записей: 1336 | Зарегистр. 23-04-2007 | Отправлено: 09:00 25-10-2018
MihailM



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
redson, сорри за оффтоп : а как это к теме относится то ?!!! ((
 

Всего записей: 2498 | Зарегистр. 19-10-2003 | Отправлено: 09:54 25-10-2018 | Исправлено: MihailM, 09:58 25-10-2018
redson



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

Цитата:
redson, сорри за оффтоп : а как это к теме относится то ?!!! ((

здесь же прогеры сидят, вот и спросил )

Всего записей: 1336 | Зарегистр. 23-04-2007 | Отправлено: 10:23 25-10-2018
virussnu

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

Цитата:
есть текст вот с таким содержимым, чем его прочитать (это отрывок из файла):    tMЩ░v)iЬ%б@ЫZ`U[Hн0З V.ГБнpўЫт'ь═УlБ!┘Q║Єк▐░

http://rgho.st/6XtGxpQ7l
https://www92.zippyshare.com/v/RFnLRvw9/file.html
Скачать или нажать кнопку "ПЛЕЙ" (Play, Играть).
С прогерским прЮветом!  
 
Добавлено:
MihailM
Отзывчивей надо к людям быть.

Всего записей: 347 | Зарегистр. 15-09-2007 | Отправлено: 10:36 25-10-2018 | Исправлено: virussnu, 10:42 25-10-2018
ForposT_ForeveR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте.
Подскажите, пожалуйста, как реализовать нетривиальную задачу.
ВАТ файлу указываем путь к директории с файлами и сабдиректориями.
1. Скрипт1 получает список всех файлов и папок, с сохранением иерархии.
2. ВАТ файл2 создает, согласно иерархии файлы и папки размером от 1 до 10 Кбайт рандомно файлы пустышками "забивает".
 
Заранее огромнейшее человеческое спасибо.
С меня бонус на рюмку чая))
 

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 11:29 07-11-2018 | Исправлено: ForposT_ForeveR, 22:00 07-11-2018
Jonmey

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ForposT_ForeveR
Поскольку неочевидна благовидность целей задачи, то представлю вариант ее решения вручную (разумеется, при желании все операции могут быть объединены в один bat файл).
 
- Получаем список файлов в папке с подпапками (файл list.txt)

Код:
DIR /A-D /B /S X:\Folder\* >list.txt

Число заполненных строк равно числу файлов. Назовем его F.
 
- Генерируем список рандомных размеров файлов из диапазона 1024-10240 байт (файл numbers.txt)

Код:
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
set min=1024
set max=10240
set n= // сюда вставляем число файлов F из первого шага
set file=numbers.txt
for /L %%C in (1,1,%n%) do (
  set /a i=!random!%%^(max-min+1^)+min
  ECHO !i!>> "%file%"
)

 
- в любом редакторе, поддерживающем работу в колоночном режиме, (если не знаете такой, то используйте унылый Excel с импортом-экспортом в текстовые csv файлы с символами табуляции в качестве разделителей) в файле list.txt в конец каждой строки добавляем через символы табуляции построчно цифры из файла number.txt и цифру 1, чтобы в конечном счете получить файл list.txt со строками вида
 
Код:
FULL_FILENAME[tab]FILESIZE_IN_BYTES[tab]1[enter]

напр,

Код:
с:\file.1    4761    1
c:\file.2    7474    1
....
....

 
- Скачиваем программу Dummy File Creator (23 килобайта, имеет и консоль и gui). Подсовываем ей полученный и отредактированный выше файл list.txt в качестве batch list и запускаем. По утверждению автора программы в результате она перезапишет все имеющиеся в списке файлы одноименным хламом с указанными в списке list.txt размерами.
 
Это не единственный путь решения задачи, а лишь вариант.
 
Прим. Экспериментировать (а также, в случае если нужно быстро создать ненулевые пустышки файлов без создания копий реальных) можно с пустышками нулевого размера, которые создаются (с сохранением структуры каталогов), например, с помощью этого скрипта или иного (включая утилиту виндовую утилиту fsutil).

Всего записей: 1319 | Зарегистр. 17-01-2011 | Отправлено: 19:58 07-11-2018 | Исправлено: Jonmey, 20:47 07-11-2018
ForposT_ForeveR



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

Цитата:
Код:
DIR /A-D /B /S X:\Folder\* >list.txt

К сожалению, при таком коде мы теряем пустые директории.

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 21:47 07-11-2018 | Исправлено: ForposT_ForeveR, 21:53 07-11-2018
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ForposT_ForeveR
А зачем вам надо портить файлы? Ближнему напакостить?

Всего записей: 1367 | Зарегистр. 05-04-2010 | Отправлено: 21:58 07-11-2018
ForposT_ForeveR



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

Цитата:
А зачем вам надо портить файлы

Причем здесь портить файлы? Вспомнили студенческие годы, всякой ерундой занимаемся)

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 22:02 07-11-2018
vek3262



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ForposT_ForeveR вы зря говорите "Вспомнили студенческие годы", это надо, и не ОДИНРАЗ!!!

Всего записей: 5422 | Зарегистр. 02-09-2012 | Отправлено: 22:10 07-11-2018
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ForposT_ForeveR
Портить файлы при том, что ваша изначальная задача была получить структуру каталога, зачистить его содержимое и затем создать на прежних местах прежнюю структуру, но с мусором. И именно этот смысл вы отредактировали сразу же после моего предыдущего комментария, пытаясь выкрутиться. Таких как вы и Jonmey, который вам помогает, надо отправлять в бан!




Нарушение п. 2.4. главы VIII Соглашения по использованию

Всего записей: 1367 | Зарегистр. 05-04-2010 | Отправлено: 22:14 07-11-2018 | Исправлено: Maz, 07:37 08-11-2018
ForposT_ForeveR



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

Цитата:
Портить файлы при том, что ваша изначальная задача была получить структуру каталога, зачистить его содержимое и затем создать на прежних местах прежнюю структуру, но с мусором. И именно этот смысл вы отредактировали сразу же после моего предыдущего комментария, пытаясь выкрутиться. Таких как вы и Jonmey, который вам помогает, надо отправлять в бан!

Покажите, пожалуйста, строку кода, которая хоть один файл удаляет.
 
Да, задачу отредактировал, разбив на два ВАТ файла и, чуть изменив текстовку.
 
Уже сейчас в ходе работы, готов еще отредактировать задачу, дабы её уточнить. Если редактирование первоначальных "хотелок" запрещено правилами любимого Ру-боард, то прошу простить меня, и более так делать не буду.
D1D1D1D
, только убедительно прошу, указать пункт правил. Спасибо
 
UPD.
Возвращаясь к программной части беседы.
 
Как из строки "D:\work\file1.txt" исключить название файла file1.txt

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 22:26 07-11-2018 | Исправлено: ForposT_ForeveR, 22:36 07-11-2018
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ForposT_ForeveR
ПРо удаление было написано в условии, в котором удаление прежней структуры и без того априори подразумевается, при том что строчка удаления файлов известна любому неучу, заглянувшему в справку. Не говоря о том, что задачу вы не уточнили, а попытались замазать кое-какие её смыслы, тем не менее, очевидные и сейчас. Не занимайтесь херней!
 
Добавлено:
И чтоб вы всю жизнь уточняли задачи не в новых сообщениях, а редактируя старые)




Нарушение п. 2.3. главы VIII Соглашения по использованию

Всего записей: 1367 | Зарегистр. 05-04-2010 | Отправлено: 22:35 07-11-2018 | Исправлено: Maz, 10:02 10-11-2018
ForposT_ForeveR



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

Цитата:
ПРо удаление было написано в условии, в котором удаление прежней структуры априори подразумевается, и при том что строчка удаления файлов известна любому неучу, заглянувшему в справку. Не говоря о том, что задачу вы не уточнили, а попытались замазать кое-какие её смыслы, тем не менее, очевидные и сейчас. Не занимайтесь херней!

Во-первых, ругаться бранными словами будете у себя, простите, в сортире, а не в общественном месте, где собирается много людей.
Во-вторых, мы с Вами не пили вместе, чтобы Вы со мной в таком тоне разговаривали.
В-третьих, под данные условия можно приводить десятки практических задач.
В-четвертых, если хотите настроение вечернее испортить - проходите мимо. Есть желание пожаловаться - воспользуйтесь специальным инструментом http://prntscr.com/lflkac
И самое главное... Всем - поменьше "дураков" (D1D1D1D, речь не в коем случае не о Вас), и побольше позитива)




Нарушение п. 2.12. главы VIII Соглашения по использованию

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 22:41 07-11-2018 | Исправлено: Maz, 10:03 10-11-2018
D1D1D1D

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

Цитата:
Во-первых, ругаться бранными словами будете у себя, простите, в сортире, а не в общественном месте, где собирается много людей.
Во-вторых, мы с Вами не пили вместе, чтобы Вы со мной в таком тоне разговаривали.
В-третьих, под данные условия можно приводить десятки практических задач.
В-четвертых, если хотите настроение вечернее испортить - проходите мимо. Есть желание пожаловаться - воспользуйтесь специальным инструментом http://prntscr.com/lflkac
И самое главное... Всем - поменьше "дураков" (D1D1D1D, речь не в коем случае не о Вас), и побольше позитива)  

Во-первых, "херня" — это вульгаризм, а не брань.
Во-вторых, вы заслужили такой тон и такие характеристики.
В-третьих, продолжаете выеживаться про однозначно вредительское условие своей хренотени.
В-четвертых, я не имею привычки жаловаться — сами жалуйтесь в европейский суд, по теме нарушения общественного спокойствия, защиты чести и достоинства писателя хренотени.
И да, я присоединяюсь к вашему пожеланию. Но к сожалению, со своей стороны не могу гарантировать, что оно не относится к вам, при том, без всяких кавычек.




Нарушение п. 2.4. главы VIII Соглашения по использованию
Нарушение п. 2.11. главы VIII Соглашения по использованию
Нарушение п. 2.12. главы VIII Соглашения по использованию

Всего записей: 1367 | Зарегистр. 05-04-2010 | Отправлено: 22:57 07-11-2018 | Исправлено: Maz, 11:10 10-11-2018
ForposT_ForeveR



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

Цитата:
Во-первых, "херня" — это вульгаризм, а не брань.  
 

Это оскорбляет человеческие чувства, поэтому и зовётся бранью. Хотя для Вас, возможно, это и вульгаризм. Коли дело привычное)
 
 
Цитата:
Во-вторых, вы заслужили такой тон и такие характеристики.  

"А судьи кто..."

Цитата:
В-третьих, продолжаете выеживаться про однозначно вредительское условие своей хренотени.  

ДБ

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

Да-да, мы помним)
 

Цитата:
И да, я присоединяюсь к вашему

И таки да, хоть какая-то частичка совести осталась в Вашей, простите как у классика, "поганой душонке". Спасибо.
 
Возвращаясь к теме разговора.
Решение по импорту/экспорту иерархии файлов+директорий следующее. (что у меня получилось)
 
1. Делаем "слепок" файлов  
DIR /A-D /B /S X:\Folder\* >list_files.txt
2. Делаем "слепок" директорий
DIR /A:D /B /S X:\Folder\* >list_dirs.txt
3. Далее перебираем файл list_dirs и применяем mk_dir
4. Перебираем list_files и создаем кому как удобно. Мне больше понравилось через fsutil file createnew  
 
Наверняка, есть более красивые варианты "игры" с иерархией файлов. Но пока так. Всем спасибо!





Нарушение п. 2.4. главы VIII Соглашения по использованию
Нарушение п. 2.11. главы VIII Соглашения по использованию
Нарушение п. 2.12. главы VIII Соглашения по использованию
Запрет на пост на неделю

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 23:09 07-11-2018 | Исправлено: Maz, 11:17 10-11-2018
D1D1D1D

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

Цитата:
И таки да, хоть какая-то частичка совести осталась в Вашей, простите как у классика, "поганой душонке". Спасибо.  

"Поганые душонки" обычно сидят в лицемерных мелких пакостниках вроде вас, оскорбляющих своим существованием не только людские чувства и разум, но и заменяющих файлы на их компьютерах всяким мусором, под видом "практической задачи". Судьи точно не они, мелкий пакостник. Не за что.




Нарушение п. 2.4. главы VIII Соглашения по использованию
Нарушение п. 2.11. главы VIII Соглашения по использованию
Нарушение п. 2.12. главы VIII Соглашения по использованию
Запрет на пост на неделю

Всего записей: 1367 | Зарегистр. 05-04-2010 | Отправлено: 23:18 07-11-2018 | Исправлено: Maz, 11:16 10-11-2018
Jonmey

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

Цитата:
Решение по импорту/экспорту иерархии файлов+директорий следующее


Код:
robocopy x:\source_folder\ y:\dest_folder\ * /E /CREATE /DCOPY:T /NJH /NJS /NDL /NFL

Всего записей: 1319 | Зарегистр. 17-01-2011 | Отправлено: 00:06 08-11-2018 | Исправлено: Jonmey, 00:10 08-11-2018
ForposT_ForeveR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Jonmey
Прямое дублирование тоже хорошо.
Но было любопытно именно через сохранение в файл.

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 00:21 08-11-2018
   

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