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

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jak_forest
С 35 давно уже разобрался. Это не главное.
Подробнее...
Главное, что он удаляет menu все, кроме 1ого. А мне этого не надо! Мне надо только заменить существующие на сгенеренные...

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 15:40 11-04-2006
Romero_Ekb



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такая утилита control.exe
Почему-то от одного пользователя срабатывает как надо (запускает панель управления или нужный апплет, если параметры указать), а от другого - запускает проводник (не важно, какие параметры указаны). С чем связано может быть?

Всего записей: 98 | Зарегистр. 02-02-2004 | Отправлено: 11:02 12-04-2006
Serge2005

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

Код:
 
FOR %%d IN (c d e f g h i j k l m) DO IF EXIST %%d:\WIN51 SET disk=%d
 
cd /d %disk%:\Distr\Total_Setup_by_Serge
 

При переборе дисков вылетает ошибка, что нет файла на сдроме (его там правда нет и не должен быть). Как сделать, чтоб ошибка не вылетала, а этот диск просто пропускался?
Предложение про удаление буквы сдрома из списка не принимается))

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 14:13 12-04-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
Какая у тебя ОС?
У меня на XP -  все ОК

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
ХР. Как же так??? Он пытается считать файл с сдрома, не видит его и выдает ошибку!! У меня глючит....((((((

Код:
 
FOR %%d IN (c d e f g h i j k l m) DO IF EXIST %%d:\WIN51 >NUL 2>&1 SET disk=%%d
 
cd /d %disk%:\Distr\Total_Setup_by_Serge
 

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 14:35 12-04-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
Какая команда у тебя дает ошибку?
Случайно не

Цитата:
 
cd /d %disk%:\Distr\Total_Setup_by_Serge

Что за ключ /d у команды cd

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

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

Цитата:
Что за ключ /d у команды cd

смена и диска и папки.
 
Добавлено:
У меню ошибка вылетает из-за попытки чтения файла с пустого сидирома. Он предлгает Перечитать, Пропустить или отменить (видимо чтение файла). С этой ошибкой все верно определяется. Мне нужно, чтоб этього окошка не вылетало. Вытащите диск, если он у вас в сдроме иил допишите букву вашего сдрома, если ее нет в списке букв...

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 14:44 12-04-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
Приведи лог (перенаправь не в Нуль а в файл)
Ибо у меня проверяет и при наличии диска в приводе и при его отсутствии

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

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
не помогает. лог пусой. я не знаю, как заставить его игнорить ошибки....(

Код:
 
FOR %%d IN (c d e f g h i j k l m n o p r s t u v x) DO IF EXIST %%d:\WIN51 SET disk=%%d
 
cd /d %disk%:\Distr\Total_Setup_by_Serge
 

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 14:56 12-04-2006
Serge2005

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Попробую сформулировать так: В компьютере может быть несколько сд-ромов (двд-). На двд-диске есть файл (уникальный), напрмер, dcba.abcd (в корне). Мне нужно определить букву этого диска (привода, в который вставлен диск с файлом dcba.abcd). Проблема заключается в вылетающем окошке: Отменить, Пропустить, Продолжить - если в одном из приводов нет диска.

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 00:53 13-04-2006
VelDmi

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serge2005
set tagfile=\WPI.ico
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist "%%i:%tagfile%" set CDROM=%%i:
 
у меня эта конструкция работает, причем с двумя cd проверял.

Всего записей: 529 | Зарегистр. 03-12-2002 | Отправлено: 07:01 13-04-2006
Serge2005

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
VelDmi
Спасибо большущее!!!!
 
Добавлено:
VelDmi
Черт....может это в моей системе глюк???
Он опять стал выдавать ошибку про сдром. Это произошло после того, как он один раз нашел на сдроме файл. Теперь, даже если сдром пустой, он пытается считать оттуда файл, не видит его там, и дылает окно: cmd.exe - Диск отсутствует
В устнойстве нет диска. Вставьте диск в устройство J:
Отмена Повторить Продолжить
 
Как это обойти(((( Или что я неверно делаю?
После перезагрузки опять все ок до первого нахождения файла на сдроме (вроде бы).

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 08:31 13-04-2006
RaX

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите кто нибудь
Написал батник открывет в папочке все фалы с почтовыми сообщениями и из них собирает определенные данные. Проблемка в следущем, не могу данные с одного файла, записать в одну строку, в первом батнике значения не печатаються пока весь цикл for не кончиться, а во втором случае все нормально выводиться, но не в одну строку с одного файла.

Цитата:
 
@Echo off
set ret=Return-Path:
set rec=Received:
set tm=Date:
set rmail=
set receiv=
set getdate=
 
for %%f in (*.msg) do (FOR /f "usebackq tokens=1,2,3,4,5,6*" %%i in ("%%f") do  @if %ret%==%%i (set rmail="%%j") else if %rec%==%%i (set receiv="%%j %%k %%l %%m %%n %%o") else if %tm%==%%i (set getdate="%%k %%l %%m %%n") | echo %rmail%    %receiv%    %getdate%)
 
echo %rmail%    %receiv%    %getdate%
 

 

Цитата:
 
@Echo off
set ret=Return-Path:
set rec=Received:
set tm=Date:
set rmail=
set receiv=
set getdate=
 
for %%f in (*.msg) do (FOR /f "usebackq tokens=1,2,3,4,5,6*" %%i in ("%%f") do  @if %ret%==%%i (echo "%%j") else if %rec%==%%i (echo "%%j %%k %%l %%m %%n %%o") else if %tm%==%%i (echo "%%k %%l %%m %%n"))
 

 
Заранее всем благодарен!!!

Всего записей: 18 | Зарегистр. 18-12-2005 | Отправлено: 14:29 13-04-2006 | Исправлено: RaX, 14:39 13-04-2006
3xp0



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, кто понимает в написании batch jobs. Помогите составить задачку.  
Я сам в это не бум-бум  
 
Надо чтобы програмка зашла в определенную дерикторию на компе. Потом сделала поиск по всем файлам в той директории, включая поддиректории и нашла там 2 файла.  
Потом для файла1 скажем, нашла там определенную часть строки, а заменила на что-то другое.  
Потом в файле2 нашла другую часть строки и заменила опять кое на что.  
И при каждом изменении файла вывело его полный путь и написало типа Successfuly Edited.  
И потом в самом конце написано что-то типа:  
Общее кол-во отредактированых файлов: 10  
 
Помогите такое сделать. (Ось Windows Server 2003)
Премного буду благодарен.

Всего записей: 6398 | Зарегистр. 22-09-2002 | Отправлено: 01:54 14-04-2006
vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
3xp0

Цитата:
Потом сделала поиск по всем файлам в той директории, включая поддиректории и нашла там 2 файла.


Цитата:
Общее кол-во отредактированых файлов: 10

Таки забавно, да
 
А по какому критерию 2 файла ищутся? Опиши полностью задачу, тут и решим.
 
 


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

Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 10:31 14-04-2006
Lexua



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VelDmi
Эта конструкция
Цитата:
set tagfile=\WPI.ico  
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist "%%i:%tagfile%" set CDROM=%%i:
будет работать в голом ДОСе при условии, что в качестве коммандного прцессора используется 4DOS?

Всего записей: 2844 | Зарегистр. 15-10-2002 | Отправлено: 11:43 14-04-2006
cluster

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

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 11:44 14-04-2006
RussianNeuroMancer



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cluster
Цитата:
ком-файла
Наверно всё-же бат-файла.
Цитата:
организовать подключение сетевых дисков?
Так:
subst x: //server/share
Отключаем так: subst X: /d


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

Всего записей: 9403 | Зарегистр. 30-04-2005 | Отправлено: 11:57 14-04-2006
cluster

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

Цитата:
Наверно всё-же бат-файла.

Имелось в виду командного )

Цитата:
subst x: //server/share
Отключаем так: subst X: /d  

Как бонально.. эту команду я знаю хорошо. Даже стыдно как-то. Пасиба
 
Добавлено:
только слешики обратные

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 12:03 14-04-2006
Serge2005

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А все-таки, нет ли какого-нибудь еще способа определить букву сд-рома, в котором есть диск с файлом, а если такого нет, то не выводить никаких ошибок?

Всего записей: 554 | Зарегистр. 11-02-2006 | Отправлено: 14:47 14-04-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