Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: igor_andreev
Дата сообщения: 24.02.2005 08:40

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

Там же, где и все берут. Добавляешь к команде в командной строке /? и читаешь хелп.
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
Автор: cluster
Дата сообщения: 24.02.2005 21:31
Ничего не получается.. Ни с delims=: ни с delims=IP..
вписал ещё skip= , отбросив ненужные строки. Но в итоге выводится:
'пробел'х.х.х.х ; где х.х.х.х - необходимый IP
y.y.y.y ; где y.y.y.y - маска подсети

А надо просто:
х.х.х.х

Вобще, то что выводит у меня ipconfig /all - в моём прошлом посте. Может попробуешь с ним?
Автор: igor_andreev
Дата сообщения: 24.02.2005 23:50

Цитата:
Может попробуешь с ним?
Нифига сам не хочешь...
Какой айпишник тебе нужен, первый же попавшийся в 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
Автор: cluster
Дата сообщения: 25.02.2005 19:47
igor_andreev
Всё работает! Только при (findstr IP-адрес) не получалось (??). Поменял на "IP", немного поигрался с skip=.. и готово!
Спасибо большущее.
И напоследок маленький вопросец: для чего в findstr "IP-адрес.*" на конце '.*'?
Автор: Kasper rar
Дата сообщения: 25.02.2005 21:06
ЛЮДИ ХЕЛП МИ!!! Нужен батник для того чтобы брало фалы с сетьевого диска и перекладывало в разные папки!!!!!!

Добавлено:
ЛЮДИ ХЕЛП МИ!!! Нужен батник для того чтобы брало фалы с сетьевого диска и перекладывало в разные папки на фтп!!!!!!
Автор: igor_andreev
Дата сообщения: 25.02.2005 21:33
cluster

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

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

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

finstr /?

Цитата:

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


Автор: scup
Дата сообщения: 04.03.2005 15:13
Как из одного файла скопировать только те строки, содержащие определенные символы в другой файл?
Автор: Jovanotti
Дата сообщения: 04.03.2005 15:41
ALL
Советую обратить внимание на тему
Автоматизация администрирования
Автор: scup
Дата сообщения: 04.03.2005 17:42
для своего вопроса нашел такой путь:

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

но все эти команды пихают в начало файла имя файла. как избавится от этого?
Автор: igor_andreev
Дата сообщения: 04.03.2005 17:52

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



Код:
@echo off
more<test.txt | find "бла-бла-бла">>qqq.txt
Автор: scup
Дата сообщения: 15.03.2005 16:34
как вставить символ | в файл из батника?
Автор: igor_andreev
Дата сообщения: 15.03.2005 20:14
scup

Код:
@echo off
echo ^|>somefile.txt
Автор: scup
Дата сообщения: 05.04.2005 10:25
поиск и замену в текстовом файле можно организовать с помощью батника?
Автор: igor_andreev
Дата сообщения: 05.04.2005 20:50
scup

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

gsar.exe http://gnuwin32.sourceforge.net/packages/gsar.htm
sed.exe http://gnuwin32.sourceforge.net/packages/sed.htm
Автор: scup
Дата сообщения: 06.04.2005 11:32
igor_andreev еще есть варианты? gsar не работает с кирилицей.
Автор: igor_andreev
Дата сообщения: 06.04.2005 17:00
scup
gsar с кириллицей работает, просто смени в начале батника кодовую страницу на 1251.

Код:
@echo off
chcp 1251
gsar -s"Текст" -r"Другой текст" -f 1.txt 2.txt
Автор: Smitis
Дата сообщения: 14.04.2005 23:58
scup

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

Под ХР/2000/2003 можно воспользоваться командой FOR /F для чтения файла по строкам в связке с командой замены вида %var:xxx=yyy%
Автор: scup
Дата сообщения: 15.04.2005 08:27
Smitis можно пример, а то я немного не понял, как реализовать?
Имеем текст вида:
папа
мама
доча

Заменить на
отец
мать
сын
Автор: igor_andreev
Дата сообщения: 15.04.2005 18:13
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
Автор: Jovanotti
Дата сообщения: 16.04.2005 15:36
Нашел неплохое описание команд в батниках ...
http://oslab.h11.ru/?mod=art&part=dos&id=001
Можно и шапку уже начать создавать. Тем более тема полезная, хотя
немного похожая с Автоматизация администрирования

Автор: agatrid
Дата сообщения: 21.04.2005 16:18
Приветствую.
Не подскажете как в батнике между 2-я командами сделать паузу на определенный момент времени.
Скажем нужно запустить notepad а через 15 секунд калькулятор.
Как это сделать ?
Автор: KChernov
Дата сообщения: 21.04.2005 16:21
Получение списка пустых папок как проще всего сделать?
Автор: igor_andreev
Дата сообщения: 21.04.2005 23:49
agatrid
На этом форуме Компьютеры » В помощь системному администратору » Автоматизация администрирования
В шапке ссылка >>HOW - TO: , там есть "таймер для .bat файла". Я например пользуюсь Sleep.exe из Resource Kit Tools
http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en

KChernov
А зачем?, позвольте полюбопытствовать Если удалить их например надо, то есть консольная утилитка ftp://mydeskbbs.com/windows/rmemp12.zip (37Кб), она удаляет пустые папки, файлы не трогает. Или что еще ты с ними сделать хочешь?
Автор: KChernov
Дата сообщения: 22.04.2005 10:43
igor_andreev
А она позволяет сначала получить список, чтобы убедиться, а уже потом удалить?
Автор: slech
Дата сообщения: 06.05.2005 20:20
Есть такая задача
1.Убить процесс на удалёной тачке Pstools.exe
2.Запустить его через минуту at.exe [именно at]

Мои задумки
pskill \\* *.exe
net time \\*
at \\* time /interactive *.exe

И так, время удалённоеузнали.Осталось увеличить его на минуту и поставить задание на выполнение.
Кто подскажет как как можно батником сделать ?
Автор: farneo
Дата сообщения: 17.05.2005 09:43
Всем привет, недавно занялся администрированием сети и вот, как иногда бывает, встала задача- написать батник, который будет раз в месяц перемещать файл "backup" в созданную им(батником) дирректорию, с названием равным дате исполнения сценария.
Говоря по правде имею некоторое представление о программировании, правда для WEB, но мне кажется принцип тот же. Может посоветуете что, литературу, примеры?
Автор: buks2004
Дата сообщения: 17.05.2005 15:34
добрый день
такая проблема
есть домен win2k3
на сервере лежат куча папок пользователей
как для всех этих папок поменять оунера на админа домена???
и в идеале как потом обратно поменять оунера с админа на пользователя=имя_папки
Автор: Master_Alex
Дата сообщения: 17.05.2005 16:01
buks2004
стать овнером ты сможешь, но вот назад - нет.
Админа тоже контролирвать надо, если ему нет доступа и он не является овнером, то он типа посмотреть не может (ну это конечно стандартными средствами). Стал - овнером - пользывателю видно.
Надо действывать от имени system, может что и выйдет...
Автор: Andrey_Wlodimirovich
Дата сообщения: 21.05.2005 11:15
Ребята подскажите код VBS script запуска файла в фоновом режиме...т.е. я запускаю этот скрипт а в нем прописан запуск бат файла, в котором я пропишу необходимые проги, которые запустяться в фоновом режиме ... (там буквально 2 строки, я просто в этом несилён )
Автор: igor_andreev
Дата сообщения: 21.05.2005 12:42
Andrey_Wlodimirovich
В фоновом режиме - имеется ввиду скрытым?

Код:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd.exe /c D:\directory\your_batch.cmd", 0, false

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.