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

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

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

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.51 до Windows 10) и command.com (DOS 5.0 и выше). Старые командные процессоры можно запускать на более новых ОС, хотя не всё может работать корректно. Подробная документация по командам cmd.exe и стандартным утилитам ОС для NT 3.51, NT 4.0, NT 5.0 (Windows 2000) и NT 5.2 (Windows Server 2003). Сборник представляет исторический интерес, а также незаменим для тех, у кого появилось желание сделать свои скрипты работоспобными не только на текущей версии ОС. Ссылки wdho.ru tinyupload.com dbree.org
 
· Сборник одним архивом: Сотни Win32 утилит командной строки, нетривиальные .cmd файлы, .bat miniperl скрипты (не требующие полноценной установки Perl), FAR Manager с плагинами и настройками, разное для DOS/DOSBox (откуда под Win32 интерес представляют три продвинутых "мультисистемных" .bat файла да ещё, может быть, оболочка Necromancer DOS Navigator с поддержкой LFN и доступом к буферу обмена Windows). Краткие описания всего - в файликах files.bbs

Всего записей: 37441 | Зарегистр. 26-02-2002 | Отправлено: 13:35 19-09-2020 | Исправлено: Maz, 07:16 24-04-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' у меня почему-то игнорируется...

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



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

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

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

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

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

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

1.21.1

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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



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

Всего записей: 1018 | Зарегистр. 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-сценариях я полный ноль

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

Advanced 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

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

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



Full 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 (  

Всего записей: 410 | Зарегистр. 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-файл. В него можно передать текст задания, чтобы проверить то, не то задание?

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



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

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

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

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



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

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

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

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

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

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

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

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



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

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

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

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



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

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

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

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru