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

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

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

Maz (20-06-2024 22:42): Командная строка, батники, сценарии - bat, cmd (7 часть)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 200 201

   

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.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

Всего записей: 38931 | Зарегистр. 26-02-2002 | Отправлено: 13:35 19-09-2020 | Исправлено: metatrop, 07:55 29-11-2022
sakatgg

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

Код:
findstr /r /c:"[!]" b:\111\*.* >list.txt

К строкам в list.txt добавляются путь к файлам, как сделать, чтобы выводились только строки из файлов, без путей к файлам? Спасибо  
 
P.S. Pasha_ZZZ

Цитата:
Не использовать маски в имени файла, сделать это через for к примеру

Не програмист я, если не сложно, готовый вариант в пример
 
P.S.2 Pasha_ZZZ
Чет не работает "Не удается открыть b:\111\test.cmd" - этот test.cmd находится же в корне b:
Да и первая строка не нужна, изначально этого файла list.txt нет.  
 
   
 
P.S.3 Pasha_ZZZ

Цитата:
если уж настолько не разбираетесь ни в чем элементарном

В Вашем коде ошибку выдает в первой же строке, допустим так надо и это нормально...  
подсунул ему это list.txt - ошибка пропала, но другая осталась, о чём Вам и сообщил.
 
   
 
По классической команде, та что в начале поста, list.txt создался автоматом

Всего записей: 1139 | Зарегистр. 18-11-2006 | Отправлено: 15:02 17-06-2024 | Исправлено: sakatgg, 23:38 17-06-2024
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sakatgg
Не использовать маски в имени файла, сделать это через for к примеру

Всего записей: 12547 | Зарегистр. 11-03-2002 | Отправлено: 15:28 17-06-2024
Pasha_ZZZ



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

Цитата:
del /f /q list.txt
for %%a in (*.*) do findstr /r /c:"[!]" b:\111\%%a >>list.txt

Всего записей: 12547 | Зарегистр. 11-03-2002 | Отправлено: 19:33 17-06-2024
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sakatgg
Ну во-первых, как можно настолько по-мудацки поступать, просто редактируя свое изначальное сообщение в виде ответов. Причем многократно.
Во-вторых, если уж настолько не разбираетесь ни в чем элементарном - попросите тех, кто разбирается (не суя рыло в калашный ряд, а чтоб сделали "под ключ").

Всего записей: 12547 | Зарегистр. 11-03-2002 | Отправлено: 22:35 17-06-2024
351878



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
МКБ-10 · F20.0 данная картина может клинически наблюдаться. тут не до шуток!

Всего записей: 1081 | Зарегистр. 28-03-2016 | Отправлено: 23:23 17-06-2024
Jonmey

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

Код:
@ECHO OFF
:: Folder with files
SET "pth=b:\111\"
:: Folder for result
SET "res=b:\"
:: Resulting filename
SET "lst=list.txt"
:: Expression for finding
SET "exp=[!]"
IF EXIST "%res%%lst%" SET "lst=%lst:~0,-4%_%date:.=-%_%time:~0,2%.%time:~3,2%.%time:~6,2%.%lst:~-3,3%"
FOR /F %%a IN ('dir /a-d /b "%pth%"') DO findstr /r /c:"%exp%" "%pth%%%a" >> "%res%%lst%"

Всего записей: 1344 | Зарегистр. 17-01-2011 | Отправлено: 00:30 18-06-2024
sakatgg

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

Всего записей: 1139 | Зарегистр. 18-11-2006 | Отправлено: 00:39 18-06-2024 | Исправлено: sakatgg, 00:43 18-06-2024
DeZz



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

Код:
[HKEY_CLASSES_ROOT\Directory\Background\shell\DelEmptyDirs\command]
@="cmd.exe /K for /f \"usebackq delims=\" %%d in (`\"dir \"%V\" /ad/b/s | sort /R\"`) do rd \"%%~d\""

 
помогите перевести в формат .bat:
Код:
reg add "HKCR\Directory\shell\DelEmptyDirs\command" /ve /d "???????????????" /f
 

Всего записей: 1185 | Зарегистр. 23-01-2006 | Отправлено: 11:48 20-06-2024 | Исправлено: DeZz, 11:48 20-06-2024
ziken



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Кто разбирается в bat, подскажите, теоретически возможно ли с его помощью сделать вменяемую простую качалку файлов по прямой ссылке из буфера обмена и в несколько потоков. Возможно используя дополнительное ПО. Просто не хочется неделю потратить на самообучение и реализацию идеи, а потом понять, что это очень неудобно и криво.
 
Или может уже есть такая?

Всего записей: 557 | Зарегистр. 04-02-2017 | Отправлено: 13:10 20-06-2024
Pasha_ZZZ



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

Всего записей: 12547 | Зарегистр. 11-03-2002 | Отправлено: 13:11 20-06-2024
StanislawK

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

Цитата:
Или может уже есть такая?

 
 
curl
 
wget

Всего записей: 274 | Зарегистр. 23-11-2009 | Отправлено: 13:33 20-06-2024
Pasha_ZZZ



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

Всего записей: 12547 | Зарегистр. 11-03-2002 | Отправлено: 13:37 20-06-2024
mithridat1



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

Цитата:
Здравствуйте. Кто разбирается в bat, подскажите, теоретически возможно ли с его помощью сделать вменяемую простую качалку файлов по прямой ссылке из буфера обмена и в несколько потоков. Возможно используя дополнительное ПО. Просто не хочется неделю потратить на самообучение и реализацию идеи, а потом понять, что это очень неудобно и криво.  

Еще есть Axel, у него прогресс-бар более наглядный, если вдруг это важно.
 
А cURL да, пока только параллельно качать умеет

Всего записей: 4976 | Зарегистр. 05-01-2006 | Отправлено: 14:00 20-06-2024 | Исправлено: mithridat1, 14:00 20-06-2024
ziken



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

Цитата:
aria2c


Цитата:
curl wget


Цитата:
Еще есть Axel, у него прогресс-бар более наглядный

Это всё дополнительное ПО, через которое и будет идти закачка. Вопрос лишь в том, возможно ли в bat файле раскрыть их функциональность и сделать простой менеджер закачек, без необходимости каждый раз править его в блокнотике.
Может это будет слишком большой и сложный батник и нет смысла даже пытаться его написать?

Всего записей: 557 | Зарегистр. 04-02-2017 | Отправлено: 16:12 20-06-2024 | Исправлено: ziken, 16:16 20-06-2024
DeZz



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

Код:
$clip = (Get-Clipboard)
Write-Host URL: $clip
try { (Invoke-WebRequest $clip -Method Head).Headers.'Last-Modified' } catch { Write-Warning "Last-Modified error" }
try { (Invoke-WebRequest $clip -Method Head).Headers.'Content-Length'/1mb } catch { Write-Warning "Content-Length error" }
Write-Host `n"DOWNLOAD?" -ForegroundColor Green
pause
Start-BitsTransfer -Source $clip -Destination (New-Object -ComObject Shell.Application).NameSpace('shell:Downloads').Self.Path

Всего записей: 1185 | Зарегистр. 23-01-2006 | Отправлено: 16:48 20-06-2024
mithridat1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ziken
То что вам предложено и есть уже полноценные (работающие из командной строки) менеджеры закачек с кучей опцией, способных решить практически любую задачу. Что с ними делать решать только вам. Формулируйте конкретную задачу или не тратьте чужое время пустыми разговорами.

Всего записей: 4976 | Зарегистр. 05-01-2006 | Отправлено: 16:58 20-06-2024 | Исправлено: mithridat1, 17:01 20-06-2024
Death_INN

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

Код:
Reg.exe add "HKCR\Directory\Background\shell\DelEmptyDirs\command" /v "" /t REG_SZ /d "cmd.exe /K for /f \"usebackq delims=\" %%%%d in (`\"dir \"%%V\" /ad/b/s | sort /R\"`) do rd \"%%%%~d\"" /f


Всего записей: 3182 | Зарегистр. 24-10-2002 | Отправлено: 17:39 20-06-2024
ziken



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

Цитата:
То что вам предложено и есть уже полноценные (работающие из командной строки) менеджеры закачек с кучей опцией, способных решить практически любую задачу. Что с ними делать решать только вам. Формулируйте конкретную задачу или не тратьте чужое время пустыми разговорами.

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

Всего записей: 557 | Зарегистр. 04-02-2017 | Отправлено: 20:12 20-06-2024 | Исправлено: ziken, 20:24 20-06-2024
Smitis



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

Цитата:
Вы видимо не понимаете что такое bat файлы и для чего они нужны.

Это Вы не понимаете, что такое батники. И для чего они нужны.
Возможности батников минимальны и много на них не напишешь. Тем более менеджер закачек.
Батники нужны в первую очередь для организации минимальной логики и вызова внешних утилит. В том числе и менеджеров закачек. Вам накидали таких консольных менеджеров. Вставляйте их вызовы в батники с нужными параметрами.
А для работы с буфером обмена возьмите утилиту, читающую содержимое буфера обмена (знаю, что такие есть), обработайте её вывод через for и вызывайте эти менеджеры для закачки. А ещё лучше это сделать через PowerShell.

Цитата:
хотя мне кажется в теории должно быть удобно

Когда мне когда-то давно такое понадобилось, я набросал консольную утилиту, читающую буфер обмена и вызывающую wget. Это было давно. Сейчас я бы сделал на PowerShell. Утилиту могу скинуть.

----------
Разум когда-нибудь победит

Всего записей: 3292 | Зарегистр. 09-02-2003 | Отправлено: 20:46 20-06-2024
Roman_Hayretdinov



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ziken, встроенная в cmd.exe команда copy умеет копировать по сети, никаких сторонних утилит не надо (если это для вас так важно)
Но многопоточности там скорее всего нет (в точности не знаю, не проверял)
Хотя можно запустить сразу несколько экземпляров cmd.exe, если перед вами стоит задача скачать сразу несколько файлов

Всего записей: 82 | Зарегистр. 19-12-2021 | Отправлено: 20:58 20-06-2024
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии - bat, cmd
Maz (20-06-2024 22:42): Командная строка, батники, сценарии - bat, cmd (7 часть)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru