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

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

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

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

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



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

Цитата:
а по прямой ссылке на файл
https://download.2gis.com/arhives/2GISData_N_Novgorod-150.orig.zip
и wget и curl качают?

Да.
wget --version
curl --version

Всего записей: 1024 | Зарегистр. 26-11-2008 | Отправлено: 20:46 17-03-2021
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Leon_Ko,
а если wget/curl читают ссылку из файла проблем нет?
Проверить:
для  wget создать текстовый файл со строкой
'https://download.2gis.com/arhives/2GISData_N_Novgorod-150.orig.zip'
затем
wget --no-config -i file.txt
для url строка должна быть
'url https://download.2gis.com/arhives/2GISData_N_Novgorod-150.orig.zip'
затем
curl -KO file.txt
в боях случаях строка должна быть без кавычек.
 
P.S.
wget и curl можно было бы и обновить.
У вас FAR установлен?

Всего записей: 7341 | Зарегистр. 08-09-2001 | Отправлено: 09:56 18-03-2021
M_Volkov



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

Цитата:
А вход/выход пользователей из базы 1С, или что другое связанное 1С пишется в журнал событий Windows? Или можно настроить чтоб писалось?
Не нашел тему по Планировщику заданий... Как настроить фильтр запуска задания по событию? Может тут кто поможет по данному вопросу?

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 10:33 18-03-2021
VDVolkov



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем добра!
 
Прошу подсказать, как сделать, что бы при выводе настроек (ключей) файла в текстовый файл имя у него было именем файла, у которого смотрятся ключи.
Например:
 
pkzipc.exe /? > pkzipc.txt
 
Что нужно прописать всесто (выделено жирным) pkzipc.exe /? > pkzipc.txt, что бы был создан файл pkzipc.txt
В каталоге таких файлов много, хочу сделать батник. Pkzipc.exe - это только пример.

Всего записей: 487 | Зарегистр. 17-08-2006 | Отправлено: 10:58 18-03-2021 | Исправлено: VDVolkov, 11:02 18-03-2021
Leon_Ko



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

Цитата:
выполните
 
Код:
curl -qs "http://info.2gis.ru/nizhniy-novgorod/products/download#skachat-kartu-na-komputer&linux" | grep -Eo -m1 "https://download.2gis.com/arhives/2GISData_N_Novgorod-([[:alnum:]]{3}).orig.zip"  

url https://download.2gis.com/arhives/2GISData_N_Novgorod-150.orig.zip

Цитата:
должна быть одна строка из трех

Так и есть.

Цитата:
curl -qs "http://info.2gis.ru/nizhniy-novgorod/products/download#skachat-kartu-na-komputer&linux" | grep -Eo -m1 "https://download.2gis.com/arhives/2GISData_N_Novgorod-([[:alnum:]]{3}).orig.zip" | sed -e "s/^/url /" | curl -K-

Выводит мельтешение чего-то на экране Far'а (качает? Что-то быстровато для 2GISData_N_Novgorod-150.orig.zip), по результам - ничего. В смысле, я файла никакого (в корне, откуда запустил) не нахожу...

Цитата:
Код:
curl -qs "http://info.2gis.ru/nizhniy-novgorod/products/download#skachat-kartu-na-komputer&linux" | grep -Eo -m1 "https://download.2gis.com/arhives/2GISData_N_Novgorod-([[:alnum:]]{3}).orig.zip" | sed -e "s/^/url /"
 
к строке должно добавиться 'url '  

Он (url) и так добавился. И в 1-м, и во 2-м случае.
Что теперь делать дальше? Как скачать последний файл (по номеру) файл по маске?
Рискну предположить, что всё-таки "мельтешение" имеет отношение к скачке - в конце работы на экране обнаружилось "2gis/3.0/Data_N_Novgorod.dgdat"...
 
P.S.  Всё дело было в "волшебных пузырьках": когда я мутил последний раз с добавлением всех этих никс-штуков в %path%, я его (%path%) случайно зачистил. А после - Far Manager в этот самый %path% так и не удосужился добавить. А я из Far'а всё делаю: мега удобный шелл...

Всего записей: 1024 | Зарегистр. 26-11-2008 | Отправлено: 10:59 18-03-2021 | Исправлено: Leon_Ko, 11:06 18-03-2021
Fenrizz



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

Цитата:
in HELP CALL or HELP FOR you may find more detailed information:
 
%~1 - expands %1 removing any surrounding quotes (")
 %~f1 - expands %1 to a fully qualified path name
 %~d1 - expands %1 to a drive letter only
 %~p1 - expands %1 to a path only
 %~n1 - expands %1 to a file name only
 %~x1 - expands %1 to a file extension only
 %~s1 - expanded path contains short names only
 %~a1 - expands %1 to file attributes
 %~t1 - expands %1 to date/time of file
 %~z1 - expands %1 to size of file  

 
Добавлено:

Код:
for %%I in (*.exe) do %%I /? >%%~nI.txt

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 11:10 18-03-2021 | Исправлено: Fenrizz, 11:30 18-03-2021
los

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

Цитата:
Выводит мельтешение чего-то на экране Far'а (качает? Что-то быстровато для 2GISData_N_Novgorod-150.orig.zip), по результам - ничего.

значит все работает нужно просто добавить ключ '-O' к curl
curl -qs url | grep -Eo -m1 pattern | sed -e pattern | curl -O -K-
или
curl -qs url | grep -Eo -m1 pattern | sed -e pattern | curl -K- -O

Всего записей: 7341 | Зарегистр. 08-09-2001 | Отправлено: 11:16 18-03-2021
Leon_Ko



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

Цитата:
затем
curl -KO file.txt  

C:\>curl -KO file.txt
Warning: error trying read config from the 'O' file
curl: (6) Could not resolve host: file.txt

Цитата:
wget и curl можно было бы и обновить.  

Дык wget вроде обновлён, не? Какой сейчас (собранный под win) последний?
И где живёт последний curl?
 
Добавлено:

Цитата:
значит все работает нужно просто добавить ключ '-O' к curl
curl -qs url | grep -Eo -m1 pattern | sed -e pattern | curl -O -K-
или
curl -qs url | grep -Eo -m1 pattern | sed -e pattern | curl -K- -O

Не увидел. Точнее, не успел
 
Добавлено:
ключ '-O' у меня почему-то игнорируется...

Всего записей: 1024 | Зарегистр. 26-11-2008 | Отправлено: 11:20 18-03-2021
VDVolkov



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz
 
Спасибо!
 
Можно попроще? Я, видимо, спросил не так.
 
Что я должен вписать вместо *** в строке pkzipc.exe /? > ****.txt что бы создался файл pkzipc.txt

Всего записей: 487 | Зарегистр. 17-08-2006 | Отправлено: 11:26 18-03-2021 | Исправлено: VDVolkov, 11:31 18-03-2021
los

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

Цитата:
ключ '-O' у меня почему-то игнорируется...

для начала обновите curl, затем опробуйте поменять местами
curl -OK file
curl -O -K file
 

Цитата:
Дык wget вроде обновлён, не? Какой сейчас (собранный под win) последний?  

1.21.1

Цитата:
И где живёт последний curl?  

где и всегда
_https://curl.se/download.html

Всего записей: 7341 | Зарегистр. 08-09-2001 | Отправлено: 11:35 18-03-2021
Fenrizz



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

Цитата:
Можно попроще? Я, видимо, спросил не так.

Попроще никак. Без FOR оно не работает.

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 11:40 18-03-2021
Leon_Ko



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

Цитата:
_https://curl.se/download.html

И что мне оттуда брать? У меня глаза "в трубочку" съезжаются - там для одной Винды столько всего! Зачем так делать, а?
 
Добавлено:
C:\>curl -O -K file.txt
Warning: file.txt:1: warning: 'https' is unknown
curl: no URL specified!
 
Добавлено:
curl 7.75.0 for Windows
 
Добавлено:
После обновления curl до v7.75.0, строчка
Код:
 
curl -qs "http://info.2gis.ru/nizhniy-novgorod/products/download#skachat-kartu-na-komputer&linux" | grep -Eo -m1 "https://download.2gis.com/arhives/2GISData_N_Novgorod-([[:alnum:]]{3}).orig.zip" | sed -e "s/^/url /" | curl -K-

пишет:
Цитата:
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.

Что там поправить, не понимаю?

Всего записей: 1024 | Зарегистр. 26-11-2008 | Отправлено: 12:09 18-03-2021
los

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

Цитата:
Что там поправить, не понимаю?

ключ '-O'
... | curl -K- -O
 

Цитата:
Warning: file.txt:1: warning: 'https' is unknown  

проверьте file.txt, для curl в отличие от wget он должен выглядеть так
'url https://чего-то там', где 'url' это не ваша ссылка, а буквы именно url.

Всего записей: 7341 | Зарегистр. 08-09-2001 | Отправлено: 13:03 18-03-2021
Leon_Ko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
Всё заработало, БЛАГОДАРЮ! Особенно за ТЕРПЕНИЕ, и ИСКРЕННЕЕ ЖЕЛАНИЕ ПОМОЧЬ
Не много таких людей в наше время - увы!..

Всего записей: 1024 | Зарегистр. 26-11-2008 | Отправлено: 14:32 18-03-2021 | Исправлено: Leon_Ko, 14:33 18-03-2021
icijafi

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. Помогите, пожалуйста. Есть консольное приложение, которое конвертирует файл из одного формата в другой (file.dat -> file.txt).
 

Код:
cd C:\Program Files\application\
application.exe convert -abc -asd -in C:\folder\file_1.dat -out C:\folder\file_1.txt -K 12345 -S 12345

 
Вопрос: какой нужен BAT-цикл, который найдёт все файлы в папке «folder» с расширением .dat и по каждому из них пройдётся этой командой? Предварительно склеивать .dat файлы нельзя, т.к. они после этого «ломаются».
 
Пример:
 

Код:
application.exe convert -abc -asd -in C:\folder\file_1.dat -out C:\folder\file_1.txt -K 12345 -S 12345
application.exe convert -abc -asd -in C:\folder\file_2.dat -out C:\folder\file_2.txt -K 12345 -S 12345
application.exe convert -abc -asd -in C:\folder\file_3.dat -out C:\folder\file_3.txt -K 12345 -S 12345
application.exe convert -abc -asd -in C:\folder\file_4.dat -out C:\folder\file_4.txt -K 12345 -S 12345

 
Можете подсказать? Понимаю, что нужен цикл и переменные, но в BAT-сценариях я полный ноль

Всего записей: 30 | Зарегистр. 20-12-2017 | Отправлено: 23:33 18-03-2021 | Исправлено: icijafi, 23:35 18-03-2021
BorlandIMHO

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

Код:
pushd "C:\Program Files\application\"
for /f "usebackq delims=" %%F in (`dir /B /A:-D *.dat`) do (
    application.exe convert -abc -asd -in "%%~fF" -out "%%~dpnF.txt" -K 12345 -S 12345
)
popd


----------
http://www.imho.ws

Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 00:31 19-03-2021 | Исправлено: BorlandIMHO, 00:39 19-03-2021
icijafi

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO, большое спасибо! Ваш сценарий работает, но он ищет .dat файлы в папке с программой (C:\Program Files\application) и результаты конвертации складывает туда же. Скажите, пожалуйста, каким образом можно жёстко задать путь, откуда брать .dat файлы и куда складывать .txt результат? Например:
 
Файлы .dat брать из C:\Users\DNS\Desktop\input
Результаты .txt складывать сюда C:\Users\DNS\Desktop\output
 
 

Всего записей: 30 | Зарегистр. 20-12-2017 | Отправлено: 01:24 19-03-2021 | Исправлено: icijafi, 01:24 19-03-2021
Fenrizz



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

Код:
pushd "C:\Program Files\application\"  
 for /f "usebackq delims=" %%F in (`dir /B /A:-D C:\Users\DNS\Desktop\input\*.dat`) do (  
     application.exe convert -abc -asd -in "%%~fF" -out "C:\Users\DNS\Desktop\output\%%~nF.txt" -K 12345 -S 12345  
 )  
 popd  

 
И можно без dir

Код:
for %%F in ("C:\Users\DNS\Desktop\input\*.dat") do (  

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 06:21 19-03-2021 | Исправлено: Fenrizz, 06:29 19-03-2021
M_Volkov



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

Цитата:
Как настроить фильтр запуска задания планировщика по событию?
Событие формируется командой MSG с определенным сообщением:

На вкладке Триггеры по кнопке Изменить фильтр событий... создал фильтр XML:
Код:
<QueryList>
  <Query Id="0" Path="System">
    <Select Path="System">*[System[Provider[@Name='Application Popup'] and (Computer='PERSEUS.corp.akit') and (Level=4 or Level=0) and (band(Keywords,36028797018963968)) and (EventID=26)]]</Select>
  </Query>
</QueryList>
Как в него вставить определенный текст сообщения, чтобы не спутать с другими событиями?

Запускаемое задание выполняет bat-файл. В него можно передать текст задания, чтобы проверить то, не то задание?

Всего записей: 5783 | Зарегистр. 23-06-2008 | Отправлено: 16:35 19-03-2021 | Исправлено: M_Volkov, 16:36 19-03-2021
Fenrizz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
M_Volkov
https://ss64.com/nt/syntax-args.html

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 16:39 19-03-2021
Открыть новую тему     Написать ответ в эту тему

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru