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

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

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

Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 4
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
 
 
Старая версия первого сообщения

Всего записей: 11110 | Зарегистр. 12-10-2001 | Отправлено: 04:28 24-09-2002 | Исправлено: Elroir, 19:35 11-09-2007
igor_andreev

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

Цитата:
И где, вобще, можно почитать инфу на эту тему?

Там же, где и все берут. Добавляешь к команде в командной строке /? и читаешь хелп.
for /?
 

Цитата:
 
delims=xxx Задает набор разделителей. Заменяет набор разделителей по умолчанию, состоящий из пробела и символа табуляции.  
 
tokens=x,y,m-n Задает элементы, передаваемые из каждой строки в тело цикла for при каждой итерации. В результате размещаются дополнительные имена переменных. Форма m-n задает диапазон, указывающий элементы с m-го по n-ый. Если последним символом строки tokens= является звездочка (*), то размещается дополнительная переменная, в которую помещается остаток строки после разбора последнего элемента.
 

В твоем случае, посмотри как ipconfig выводит. Можно использовать двоеточие, как разделитель. Попробуй

Код:
 
@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig') do echo %%a
pause
 

На экран будет выведено все, что for найдет после двоеточий. А попробуй напиши tokens=1 . На экране будет все, что команда for найдет до двоеточий.
http://www.robvanderwoude.com/ntfortokens.html пошагово все расписано

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 09:40 24-02-2005
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ничего не получается.. Ни с delims=: ни с delims=IP..
вписал ещё skip= , отбросив ненужные строки. Но в итоге выводится:
'пробел'х.х.х.х  ; где х.х.х.х - необходимый IP
y.y.y.y              ; где y.y.y.y - маска подсети
 
А надо просто:
х.х.х.х
 
Вобще, то что выводит у меня ipconfig /all - в моём прошлом посте. Может попробуешь с ним?

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 22:31 24-02-2005
igor_andreev

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

Цитата:
Может попробуешь с ним?
 Нифига сам не хочешь...
Какой айпишник тебе нужен, первый же попавшийся в  ipconfig /all "Подключение по локальной сети 2 - Ethernet адаптер:" ?

Код:
 
@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig /all ^| findstr "IP-адрес.*"') do (
  if not defined myip set myip=%%a
)
echo my IP - %myip%
pause
 

Если нужен следующий, добавь skip=1

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 00:50 25-02-2005
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
Всё работает! Только при (findstr IP-адрес) не получалось (??). Поменял на "IP", немного поигрался с skip=.. и готово!
Спасибо большущее.
И напоследок маленький вопросец: для чего в  findstr "IP-адрес.*" на конце '.*'?

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 20:47 25-02-2005
Kasper rar



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ЛЮДИ ХЕЛП МИ!!! Нужен батник для того чтобы брало фалы с сетьевого диска и перекладывало в разные папки!!!!!!
 
Добавлено:
ЛЮДИ ХЕЛП МИ!!! Нужен батник для того чтобы брало фалы с сетьевого диска и перекладывало в разные папки на фтп!!!!!!

Всего записей: 1 | Зарегистр. 25-02-2005 | Отправлено: 22:06 25-02-2005
igor_andreev

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

Цитата:
Только при (findstr IP-адрес) не получалось (??).

У меня работает. Это наверно бодяга с русскими буквами(кодировками). У кого винда русская, у кого английская, у кого в HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes\00000409 стоит "us", кто-то на "ru" меняет. Даже от редактора иногда может зависеть, в FAR-е писать или в блокноте.  

Цитата:
для чего в  findstr "IP-адрес.*" на конце '.*'?

finstr /?

Цитата:
 
.   Подстановочный знак: любой символ  
*   Повтор: ноль или более предшествующих символов или классов символов.  
 

 

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 22:33 25-02-2005
scup



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как из одного файла скопировать только те строки, содержащие определенные символы в другой файл?

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 16:13 04-03-2005
Jovanotti



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ALL
Советую  обратить внимание на тему
Автоматизация администрирования

Всего записей: 718 | Зарегистр. 22-12-2002 | Отправлено: 16:41 04-03-2005
scup



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
для своего вопроса нашел такой путь:
 
ren *.txt test.txt
find test.txt "бла-бла-бла" >>qqq.txt
for /F "tokens=2,3,4,5,6 delims=, " %%i in (qqq.txt) do @echo %%i %%j %%k %%l %%m >>final.txt
del qqq.txt
del test.txt
 
но все эти команды пихают в начало файла имя файла. как избавится от этого?

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 18:42 04-03-2005
igor_andreev

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

Цитата:
но все эти команды пихают в начало файла имя файла. как избавится от этого?

 

Код:
 
@echo off
more<test.txt | find "бла-бла-бла">>qqq.txt
 


Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 18:52 04-03-2005
scup



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

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 17:34 15-03-2005
igor_andreev

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

Код:
 
@echo off
echo ^|>somefile.txt
 

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 21:14 15-03-2005
scup



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
поиск и замену в текстовом файле можно организовать с помощью батника?

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 11:25 05-04-2005
igor_andreev

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

Цитата:
поиск и замену в текстовом файле

gsar.exe http://gnuwin32.sourceforge.net/packages/gsar.htm
sed.exe http://gnuwin32.sourceforge.net/packages/sed.htm

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 21:50 05-04-2005
scup



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev еще есть варианты? gsar не работает с кирилицей.

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 12:32 06-04-2005
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
scup
gsar с кириллицей работает, просто смени в начале батника кодовую страницу на 1251.

Код:
 
@echo off
chcp 1251
gsar -s"Текст" -r"Другой текст" -f 1.txt 2.txt
 

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 18:00 06-04-2005
Smitis



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

Цитата:
поиск и замену в текстовом файле можно организовать с помощью батника?

Под ХР/2000/2003 можно воспользоваться командой FOR /F для чтения файла по строкам в связке с командой замены вида %var:xxx=yyy%

Всего записей: 3214 | Зарегистр. 09-02-2003 | Отправлено: 00:58 15-04-2005
scup



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis можно пример, а то я немного не понял, как реализовать?  
Имеем текст вида:
папа
мама
доча
 
Заменить на
отец
мать
сын

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 09:27 15-04-2005
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
scup
 
Smitis имел ввиду приблизительно вот так:
Если это old.txt

Цитата:
 
папа  
мама  
доча
 

то  

Код:
 
@echo off
chcp 1251
 
for /f "tokens=*" %%a in ('more^<old.txt') do call :_replace %%a
goto eof
 
:_replace
set i=%*
echo %i%
set i=%i:папа=отец%
set i=%i:мама=мать%
set i=%i:доча=сын%
echo %i%>>new.txt
goto eof
 
:eof  
 

 

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 19:13 15-04-2005
Jovanotti



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашел неплохое описание команд в батниках ...
http://oslab.h11.ru/?mod=art&part=dos&id=001
Можно  и шапку уже начать создавать. Тем более тема полезная, хотя
немного похожая с Автоматизация администрирования
 

Всего записей: 718 | Зарегистр. 22-12-2002 | Отправлено: 16:36 16-04-2005
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » Командная строка, батники, сценарии (bat, cmd)
Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru