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

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

Модерирует : KLASS, IFkO

vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задачи на bat-файлах
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Набор GNU утилит для win32
· Встроенный справочник по командам: hh ntcmds.chm
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
 
Готовые решения и частые вопросы:
· Создание листинга директорий на примере создания плейлиста
· Разименовывание переменных
· Переименовывание файлов по дате создания
· Запуск сетевого подключения
· Запуск bat файлов как сервис
· Пример выполнения команд по результату команды ping
· Использование даты на день раньше чем сегодня
 
Невозможности — что нельзя сделать с помощью командных файлов:
· изменть конфигурацию IP на удаленной машине (без помощи rcmd.exe) [добавил ALEF]
 
 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Старая версия первого сообщения

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 22:58 18-11-2005 | Исправлено: Elroir, 05:50 11-11-2006
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Verter
Так тебе какой интерфейс надо отключить? RAS-овские отключаются rasdial, demand-dial - netsh
> ярлык все равно включен
может быть, надо сначала PPOE отключить

Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 01:47 11-02-2006 | Исправлено: Refugee, 01:54 11-02-2006
Verter



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Refugee
За rasdial спасибо. Так могу отрубить РРРОЕ из ком. строки
Но проблема осталась.
Суть: связь (локальная или RAS, неважно) и включается, и отключается, но ее ярлычок не изменяет облика и не появляется/исчезает из системного трея (даже при включеной опции "Вывести значок подключения на панель задач"). Облик меняется только при выходе и входе в систему под другим или тем же логином. А неудобство в том, что так как яплык не меняет облика (припустим сейчас интерфейс включен), то при отключении интерфейса (напр., выходе из РРРОЕ и-нета) не появляется опцыи "Подключится" (вместо нее все та же "Отключится") хотя пинг мерт, то есть интерфейс декйствительно выключен.
 
Добавлено:
Вообщем, решыл. Вырубываю/врубываю с консольки. Жаль, что только количество отправленых/принятых мегов не видно. Да ладно, с ними. Refugeeспасибо

Всего записей: 598 | Зарегистр. 10-01-2004 | Отправлено: 01:10 12-02-2006
hhr

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
господа, вот такая есть задачка.
имеются файлики "input_*" в каждом из которых прописаны пути к некоторым каталогам.

Код:
 
c:\папка1
 

требуется создать файл cfg.ini вот такого вида:

Код:
 
[paths]  
path1=c:\папка1
path2=c:\папка2
path3=c:\папка3
path4=c:\папка4
 

я сделал батник make_cfg.bat

Код:
 
@echo off
 
rem удаляем старый файл
del cfg.ini
 
rem пишем в него секцию [paths]
echo [paths] >> cfg.ini
 
rem для каждого из 4-х файлов делаем call
for /L %%i in (1 1 4) do call paste_line %%i
:eof
 
 
:paste_line
 
rem переменная 1 равна "path(цифра)="
set param1=path%1=
 

rem содержимое файла во вторую переменную
type input_%1 > temp
for /F %%i in (temp) do set param2=%%i
del temp /q

 
rem склеиваем обе и пишем строчку в cfg.ini
echo %param1%%param2% >> cfg.ini
 

вот то что выделено жирным шрифтом мне не нравится. можно ли содержимое файла присвоить переменной без создания временных файлов?
 
Добавлено:
блин. стормозил. написал и осенило.

Код:
 
type input_%1 > temp  
for /F %%i in (temp) do set param2=%%i  
del temp /q
 

заменил на

Код:
 
for /F %%i in (input_%1) do set param2=%%i
 

с тем же результатом.

Всего записей: 289 | Зарегистр. 20-03-2005 | Отправлено: 05:36 12-02-2006
Psih



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли средствами bat файлов переименовать файлы и каталоги с русскими именами в текущем каталоге и подкаталогах в транслит. (расширения оставить прежними.. заменить только русский шрифт на англ., к примеру букву я=ya, букву т=t и т.д.)?

Всего записей: 42 | Зарегистр. 24-07-2002 | Отправлено: 18:58 12-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Psih
Можно, но легче воспользоваться сторонними утилитами
Например к ФАР Менеджеру есть несколько плагинов (Возможно есть и к ТоталКоммандеру)

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:30 13-02-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
условие: есть файл (4 кб бинарный), есть телефон (с модемом) на который надо передать этот файл (вручную с помощью HYPER TERMINAL-а: Передача->Отправить файл).
Вопрос: как это можно автоматизировать с помощью bat/cmd. Возможно использование жестко указанного имени файла, либо через параметр.

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 13:20 13-02-2006
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожайлуста, как в cmd.exe использовать esc-последовательности.
С command.com проблем не возникает, в cmd.exe ничего не получается. Прописал в config.nt:
 
device=%SystemRoot%\system32\ansi.sys
 
затем пробую, допустим:
 
prompt $e[1;40;36m $p$g
 
Выводятся управляющие символы и текущий каталог.
В command.com все отображается правильно.
 
???

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 13:40 13-02-2006
vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
01MDM
Смотри в шапку: использование ansi.sys

Цитата:
The Windows 2000/NT Command Interpreter, CMD.EXE, does not support ANSI.SYS. Use COMMAND.COM instead.


----------
I am free of all prejudice. I hate everyone equally.

Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 13:50 13-02-2006
01MDM



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

Цитата:
Смотри в шапку: использование ansi.sys  

 
Смотрел, не заметил. Жаль, придется использовать command.com.
 
Все равно спасибо.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 14:18 13-02-2006
Zueuk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как использовать пути с пробелами?
Например, C:\Program Files\.
 
Пробовал кавычки разные в разных комбинациях, выделял целиком строку, отдельно место с пробелом, еще до кучи вместо пробела использовал "%20" (т.е. код его). Ничего не прошло.
 
Или придётся использовать короткие имена, которые в Досе используются?

Всего записей: 58 | Зарегистр. 15-08-2003 | Отправлено: 16:38 13-02-2006
vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zueuk
Ну, вообще в кавычки заключать. Покажи в каком коде не работает?

----------
I am free of all prejudice. I hate everyone equally.

Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 16:49 13-02-2006
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Пытаюсь отправить письмо из консоли с помощью zerat.exe письмо приходит а вот файл прекрипленный нет, в место вайла приходит вот что:
------------673FB1F2B6AFA5
Content-Type: application/octet-stream; name="1.rar"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="1.rar"
Content-ID: <1.rar>
 
UmFyIRoHAM+QcwAADQAAAAAAAAACTHQgkCoAEgAAABIAAAAC6bm1O25dPzQdMAUAIAAAADEudHh0
APB4tU9ldG8gdmxvZ2VuaXkgZmlsZXPEPXsAQAcA
 
пишу: zerat.exe host:smtp.alkar.net from:email@mai.ru to:email@mail.ru subject:Tema само письмо $incl c:\1.rar
 
Помогите пожалуйста, спасибо!

Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 18:26 13-02-2006
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke
Надо так
zerat.exe host:smtp.alkar.net from:email@mai.ru to:email@mail.ru ATTACHEN:UUE subject:Tema само письмо $incl c:\1.rar  
Автор утверждает что последовательность аргументов не имеет значения, но текст письма должен быть последним.
 
Даже в случае что я описал выше придёт лабуда типа  
 
97DD383BB934FB
Content-Type: application/octet-stream; name="readme.rar"
Content-Transfer-Encoding: x-uue
Content-Disposition: attachment; filename="readme.rar"
Content-ID: <readme.rar>
-------------------------------------------------------------------------------
Прикрепленные данные: readme.rar (application/octet-stream, 5K)
Скачать Удалить
 
 
Именно поэтому я использую sendEmail-v152

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 23:56 13-02-2006 | Исправлено: slech, 00:05 14-02-2006
Zueuk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всё, разобрался. Нужно в двойные кавычки
C:\"Program Files"\
 
А я ставил
C:\'Program Files'\

Всего записей: 58 | Зарегистр. 15-08-2003 | Отправлено: 14:05 14-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Zueuk
Проще ставить
"C:\Program Files\"

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:18 14-02-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
извиняюсь за повтор
условие: есть файл (4 кб бинарный), есть телефон (с модемом) на который надо передать этот файл (вручную с помощью HYPER TERMINAL-а: Передача->Отправить файл).  
Вопрос: как это можно автоматизировать с помощью bat/cmd. В какую сторону рыть? Что можно использовать вместо "Hyper terminal"?

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 14:29 14-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jak_forest
1. Если попробовать передачу при помощи электронной почты?
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:47 14-02-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
И это тоже используется. Но в одну из "светлых голов" нашей налоговой пришла идея передавать не через инет а непосредственно на нужную машину данные. И решили они использовать Hyper Terminal.  
(С) И треснул мир пополам....

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 15:00 14-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jak_forest
И в добавок "светлым головам" хочча - все на автомате?
Тогда обращайся к старым ФИДошным утилитам T-Mail, Argus.
В Т-Майле можно настроить так, что при появлении файла в определенной папке начнется дозвонка/передача/отключение.
Минусы такого решения - Т-Майл должен постоянно работать на 2-х машинах
Электронная почта - удобнее
 
Добавлено:
Кстати а как аргументируется выбор ГиперТерминала?
Какие ОС стоят на обоих компах
 
Еще одно решение на передающем поднять ФТП-сервер, включить RRAS, пусть та сторона дозванивается и забирает ысе что нужно с ФТП

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:07 14-02-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
"Светлые головы" сидят в налоговой. Предположительно у них все ПК под виндой, и поэтому я предполагаю что прием производится с помощью "НТ" (хотя может быть далеко не факт). А теперь картина маслом: я (в простонародье компьютерщик) объясняю бухгалтеру (которая работает только в бест-звите - такая программка для формирования налоговой отчетности), что надо сформировать накладную, выгрузить в XML, зашифровать с помощью 2-ой програмки, включить модем, запустить третью программку (НТ), соединиться с удаленным ПК (слава богу нажать только 1 кнопку и подождать минут 5-10 - линии связи ...) с помощью нее через менюшку передать файлик, и отключиться.  
последнее решение (да и Т-маил) не подходит. Во-первых я не могу настраивать комп в налоговой, а во-вторых налоговая не захотит обзванивать всех своих клиентов (даже в пробном пуске задачи) ради получения накладных - типа пусть сами клиенты на поклон приходят.
Обосновать выбор не могу. Меня не было на работе. а другим пришли и сказали: "отправлять файл к нам через НТ.".А у меня даже нет вариантов чем его можно заменить.

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 15:29 14-02-2006
   

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

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах
vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru