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

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
llirik99
В ФАре можно сделать многое и еще больше
Просто вопрос стоял о батничках, если была бы оговорка или другие способы...

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.
 
Можно ли с помощью батника решить такую задачу:
Дано: На сервере расположены папки от А до Я
Надо: на комп1 скопировать папки от А до К, комп2 от Л до С, комп3 от Т до Я?

Всего записей: 93 | Зарегистр. 24-12-2005 | Отправлено: 13:03 14-09-2006
KapralBel



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

Код:
@Echo Off
For /d %%a in (а б в г д) Do Echo %%a
 

Дальше сам

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Касаемо получения mac-адреса удаленной машины из командной строки нашел следующее:
 
Сначала даем пинг на интересующую машину
Потом выплняем команду: arp -a
 
Вобщем-то такое решение меня устраивает, но может кто знает другие?
 
PS Напомню, getmac не работает, так как на удаленных машинах xp sp2, то есть rpc закрыт.

Всего записей: 23 | Зарегистр. 03-04-2006 | Отправлено: 14:13 14-09-2006
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите как сдлеать проверку наличие директории а при ее отсутствии вывести сообщение об ошибке?

Всего записей: 1504 | Зарегистр. 07-09-2004 | Отправлено: 14:25 14-09-2006
Gatti

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
На сколько я понимаю должно появиться а б в г д, но:
 
C:\Documents and Settings\admin>for /d % %a in (а б в г д) do echo % %a
Непредвиденное появление: %.
Где я туплю?

Всего записей: 93 | Зарегистр. 24-12-2005 | Отправлено: 14:27 14-09-2006
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Gatti
либо в батнике %%a (т.е. без пробелов между %%)
либо в командной строке 1 %, т.е. for /d %a in (а б в г д) do echo %a  
 

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 14:31 14-09-2006
MasterTheMAC



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VladimirKvach
 
А nbtstat чем не устраивает?
 
nbtstat -a 192.168.1.55

Всего записей: 87 | Зарегистр. 17-10-2003 | Отправлено: 16:52 14-09-2006
Gatti

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
uZver
НаписАл так:

Код:
 
@echo off
chcp 1251
for /d %%a in (G:\tets\А G:\tets\Б) do robocopy %%a d:\1\ /s
pause
 

Но копируется только содержимое каталогов А и Б, хотя /s указывает, что каталоги тоже копировать. В чем ошибка?

Всего записей: 93 | Зарегистр. 24-12-2005 | Отправлено: 17:49 14-09-2006 | Исправлено: Gatti, 17:50 14-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Gatti
У меня все копирует

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:53 15-09-2006
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у меня вот такой код, через командную строку задаю путь типа c:\234 этот каталог есть а он error пишет

Код:
 
@echo off
set p=%1
if not exist %p%\null goto end1
goto end
 
:end1
echo error
goto end
 
:end
 
exit 0
 

Всего записей: 1504 | Зарегистр. 07-09-2004 | Отправлено: 12:48 15-09-2006
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tolyn77
\null - а это что?  
без этого вроде работает.

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 13:32 15-09-2006
01MDM



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

tolyn77
 
 

Цитата:
подскажите как сдлеать проверку наличие директории а при ее отсутствии вывести сообщение об ошибке?

 
Если есть пробелы в пути к папке то можно так
 

Код:
 
@ECHO OFF
 
set curpath="%CD%"
cd %1 > nul 2>&1
set newpath="%CD%"
if %newpath%==%curpath% (
    echo dir %1 not exists
    ) else (
    echo dir %1 exists
    )
 
cd %curpath%
pause
 

 
Если пробелов нет, то через folder\nul

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



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
подскажите как создать bat файл для редоктирование файла host
Нужно чтоб при запуске одного файла вставлялась одна строка, а при запуске второго удолялась

Всего записей: 101 | Зарегистр. 27-04-2006 | Отправлено: 18:49 15-09-2006
Kirillhome



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
artursn
1-й
copy hosts1 hosts
 
2-й
copy hosts2 hosts

Всего записей: 426 | Зарегистр. 23-11-2004 | Отправлено: 21:04 15-09-2006
RussianNeuroMancer



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А если содержание hosts на чужой машине заранее не известно и подменять заранее созданным нельзя?

----------
Kubuntu - официальный сайт, форум, русскоязычный сайт.

Всего записей: 9403 | Зарегистр. 30-04-2005 | Отправлено: 22:46 15-09-2006
Kirillhome



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

Цитата:
А если содержание hosts на чужой машине заранее не известно и подменять заранее созданным нельзя?

Например, так...
Добавление:

Код:
 
@echo off
set STR_ADD=127.0.0.1 myadmin
set MY_FLG=0
SET FILE_NAME=Hosts
For /F "eol=# tokens=1,2 delims= " %%a In (%FILE_NAME%) Do Call :Host_Prv %%a %%b
if %MY_FLG%==0 echo %STR_ADD%>> %FILE_NAME%
GOTO :EOF
 
:Host_PRV
SET STR_HOST=%1 %2
IF /I "%STR_HOST%"=="%STR_ADD%" (set MY_FLG=1)
GOTO :EOF
 

Удаление:

Код:
@echo off
set STR_DEL=127.0.0.1 myadmin1
set MY_FLG=0
SET FILE_NAME=Hosts
SET FILE_NAME2=Hosts.tmp
IF EXIST %FILE_NAME2% del %FILE_NAME2%
For /F "eol=# tokens=1,2 delims= " %%a In (%FILE_NAME%) Do Call :Host_Prv %%a %%b
if %MY_FLG%==1 (
   copy %FILE_NAME2% %FILE_NAME%
   IF EXIST %FILE_NAME2% del %FILE_NAME2%)
GOTO :EOF
 
:Host_PRV
SET STR_HOST=%1 %2
IF /I NOT "%STR_HOST%"=="%STR_DEL%" (
  set MY_FLG=1  
  echo %STR_HOST%>> %FILE_NAME2%)
GOTO :EOF
 

 
Но - при этом пропадают все комментарии... Увы, это я не поборол...

Всего записей: 426 | Зарегистр. 23-11-2004 | Отправлено: 00:34 16-09-2006 | Исправлено: Kirillhome, 00:36 16-09-2006
artursn



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ребята спасибо за помощь)

Всего записей: 101 | Зарегистр. 27-04-2006 | Отправлено: 00:40 16-09-2006
VladimirKvach

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
 
Проблема такая:
 
chcp 1251
type c:\111.txt
chcp 866
type c:\111.txt
 
В файле 111.txt виндовая кодировка. В полноэкранном режиме все работает как надо, в оконнном как были кракозябры так и остались. Что делаю не так?
 
ps Вообще это мне надо для слежение за русскоязычным логом утилитой tail
 
Спасибо

Всего записей: 23 | Зарегистр. 03-04-2006 | Отправлено: 07:55 18-09-2006
ViSiToR



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

Цитата:
Что делаю не так?

Ничего просто нужно поменять шрифт в свойствах окна - если требуется следить за одним конкретным батником, то можно создать ему ярлык, и в свойствах ярлыка поставить шрифт на Lucidia Console - А если требуется сделать такое отображение для всех окон, то лучше всего зайти в командную строку (Пуск - Выполнить - cmd.exe), и правой кнопкой мыши нажать по заголовку окна, и выбрать пункт Свойства, а там уже установить шрифт также на Lucidia Console (при появлении вопроса поставить опцию на приминение для всех окон с тем же именем).

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 08:40 18-09-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