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

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

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

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

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

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

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

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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz, добрый день, спасибо за ответ. Попробовал Ваш вариант, пишет ошибку «Файл не найден»
 
 

Всего записей: 30 | Зарегистр. 20-12-2017 | Отправлено: 16:47 19-03-2021
Shev162

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Столкнулся с такой проблемой. Не могу через bat-файл скопировать tnsnames.ora в папку c:\oracle\network\ADMIN после тихой установки оракл-клиента. Прописывал и как
   
xcopy ".\ADMIN" "c:\oracle\network\ADMIN" /H /R /I /Y
 
где  ".\ADMIN" подпапка с tnsnames.ora и sqlnet.ora, пробовал и по одному файлу писать ".\ADMIN\tnsnames.ora" и кидал в корень папки tnsnames.ora, также пробовал прописывать просто через
 
copy /y ".\ADMIN\tnsnames.ora" "c:\oracle\network\ADMIN"
 
сохранял как в bat так и в cmd-файлы и запускал просто и по ПКМ "Запуск от имени Администратора", все равно не копирует и выдает "Отказано в доступе. Скопировано файлов: 0". Помогите, если кто сталкивался с таким пожалуста.

Всего записей: 8 | Зарегистр. 11-07-2008 | Отправлено: 16:48 19-03-2021
Fenrizz



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

Цитата:
Попробовал Ваш вариант, пишет ошибку «Файл не найден»    

На скриншоте не мой вариант.
 
 
Добавлено:
Shev162

Цитата:
Столкнулся с такой проблемой. Не могу через bat-файл скопировать tnsnames.ora в папку c:\oracle\network\ADMIN после тихой установки оракл-клиента.  

А через Проводник копирует?

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 16:55 19-03-2021
icijafi

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz, прошу прощения за невнимательность. Правки внёс, но почему-то BAT-файл продолжает искать .dat файлы в папке с программой (C:\Program Files\OpenSSL-Win64\bin), а не в указанной директории (C:\Users\DNS\Desktop\input\). Можете сказать, в чём причина?
 
 
 

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
icijafi
Да, это я пропустил, надо так:
 

Код:
openssl.exe enc -aes-128-cbc -d -in "C:\Users\DNS\Desktop\input\%%~nxF" ...  

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



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Fenrizz
Цитата:
https://ss64.com/nt/syntax-args.html
Наверное на вкладке Действие в Запуск программы указать имя bat-файла и параметр, содержащий текст сообщения. Какое имя этого параметра?
Или подскажете другую крайне редко используемую безвредную команду (желательно без имени пользователя), чтобы она фиксировалось в журнале событий Windows?

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
M_Volkov
Просто вызываете файл с параметром:  
file.bat test
 
А внутри добавляете проверку

Код:
if /I "%1"=="test" (
echo TEST!
...
)  

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 18:23 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

Компьютерный форум 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