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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 | Цитировать | Сообщить модератору
anzor

Код:
 
@Echo Off
Rem #1
Rem - Internet - имя соединения с интернетом
RASDial Internet
 
Rem #2
C:\Utils\Program.exe
 
Rem #3
Rem Какую кнопку?
 
Rem #4
Shutdown -s
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:49 27-04-2006
Smitis



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

Цитата:
Нужен батник на 2003:  
1.запуск интернет соединения  
2.запуск ехе файла  
3.кликание на кнопку  
4.выключение компа  

Зачем в разных топиках посты дублируешь? По два раза нам тебе отвечать что-ли?
 
Добавлено:
SERG691018

Цитата:
а в 9х? что за 4дос?

Альтернативный командный процессор. Когда-то с успехом заменял у меня command.com в Win98 (есть, правда, некоторые нюансы).
http://jpsoft.com/download.html
 

Цитата:
если нет возможности в досе или 9х создавать папки типа dd-mm-yy , то можно ли создавать папки типа %имя папки% +число по возрастающей.

В принципе, можно написать двойной цикл типа
for %%i in (0 1 2 3 4 5 6 7 8 9) do for %%j in (0 1 2 3 4 5 6 7 8 9) do ...
в котором проверять наличие папки с номером и если её нет, создавать. Но не на чем проверить...

Всего записей: 3177 | Зарегистр. 09-02-2003 | Отправлено: 13:50 27-04-2006 | Исправлено: Smitis, 14:01 27-04-2006
Serge2005

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как в файл вывести такую строку (без {}):
{@="%SystemDrive%\\Program Files\\IDA\\ida.exe \"%L\""}
Пробовал так:
echo @="%SystemDrive%\\Program Files\\IDA\\ida.exe \"%L\"">>01.reg
-не получается, т.к. %L выводится как L.

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



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
Удваивай каждый %
echo @="%%SystemDrive%%\\Program Files\\IDA\\ida.exe \"%%L\"">>01.reg

Всего записей: 3177 | Зарегистр. 09-02-2003 | Отправлено: 14:32 27-04-2006
Serge2005

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

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



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если ты делаешь эту команду в bat файле,  то перед %L укажи еще один процент !    
 echo @="%SystemDrive%\\Program Files\\IDA\\ida.exe \"%%L\"">>01.reg
результат  
@="C:\\Program Files\\IDA\\ida.exe \"%L\""
обрати внимание, что у тебя лишние слэши и пробел после ida.exe  

Всего записей: 11718 | Зарегистр. 10-12-2003 | Отправлено: 14:43 27-04-2006
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Serge2005
ipmanyak
Да, для %SystemDrive% символы в данном случае не надо удваивать (хотя хрен знает, может выполнится).
Но "лишних" пробелов и слешей я не вижу. Наоборот, не хватает. Надо так:
echo @="\"%SystemDrive%\\Program Files\\IDA\\ida.exe\" \"%%L\"">>01.reg
Или использовать для таких случаев команды ASSOC и FTYPE

Всего записей: 3177 | Зарегистр. 09-02-2003 | Отправлено: 14:59 27-04-2006 | Исправлено: Smitis, 15:13 27-04-2006
anzor

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

Цитата:
 
Код:  
@Echo Off  
Rem #1  
Rem - Internet - имя соединения с интернетом (покажи напримере а то ошибку выдает 623 хоты без батника заходит!)
RASDial Internet (че за параметр?)
 
Rem #2  
C:\Utils\Program.exe  
 
Rem #3  
Rem Какую кнопку?  
 
Rem #4  
Shutdown -s  
 
 

 
и еще есть мне бы пароль доступа в инет прописать!

Всего записей: 7 | Зарегистр. 27-04-2006 | Отправлено: 15:47 27-04-2006 | Исправлено: anzor, 15:49 27-04-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
anzor
RASDial /?
Как у тебя названо интернет соединение?
Пароль вводится интерективно?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:01 27-04-2006
anzor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Delta
пароль хотелось бы ввести в батнике
 
у меня впн соединение!
 
 
вписал в батник следуюшее
Rem - Delta
RASDial delta [логин пароль]
 
пишет установка имени и пароля соединения и не соединяется пишет ошибка 691(домтуп запрещен поскольку такие име и пароль недопустимы в этом домене)хотя без батника соединение работает в чем причина?

Всего записей: 7 | Зарегистр. 27-04-2006 | Отправлено: 16:14 27-04-2006 | Исправлено: anzor, 16:53 27-04-2006
anzor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
с соединением разобрался!
теперь нужно чтобы он через определенное время закрывал приложение и соединение!

Всего записей: 7 | Зарегистр. 27-04-2006 | Отправлено: 10:13 28-04-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
anzor
Взглянь в сторону nnCron или обычный планировцик
RASDial /DisConnect

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:35 28-04-2006
anzor

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
они некоректно работают в 2003!!!!
 
/disconnect закрывает сразу а мне надо через определенное время!
 
и как кликнуть на кнопку на приложении которое открылось ранее?

Всего записей: 7 | Зарегистр. 27-04-2006 | Отправлено: 10:46 28-04-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
anzor
В смысле через определенное время?
Так запускай когда нужно
 
С кликанием на кнопку - это не знаю
А какая программа - может есть программы консольного типа - и можно заменить

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:06 28-04-2006
anzor

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

Всего записей: 7 | Зарегистр. 27-04-2006 | Отправлено: 13:51 28-04-2006
Devil66

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

Всего записей: 78 | Зарегистр. 06-02-2006 | Отправлено: 23:10 29-04-2006
vu1tur



Moderator-Saaber
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Devil66
Пример выполнения команд по результату команды ping
 
Добавлено:
anzor

Цитата:
они некоректно работают в 2003!!!!

Что значит некорректно?

Цитата:
/disconnect закрывает сразу а мне надо через определенное время!


Код:
 
sleep <определенное время в секундах>
... /disconnect
 

sleep берём из пакета GNU утилит для win32, см. в шапке.

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

Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:40 30-04-2006
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Жаль, что этот топик потерял первоначальное направление, а именно - разные интересные задачки по программированию на батниках.
Всё-таки попробую предложить размяться на праздниках и решить такую задачку. Сформулирую её так:
Требуется написать командный файл для XP/2000/2003 принимающий из командной строки один параметр - имя папки. Требуется проверить, существует ли такая папка, и, допустим, вывести сообщение "Folder exist". Естественно, имеются ввиду не какие-нибудь виртуальные папки, а физические. Диск, на котором происходит проверка, доступен и все права есть.
 
Решение я знаю, задачка для разминки мозгов.
Те кто воскликнул, что всё очень просто и подобные вещи проскакивали даже в этом топике, подумайте ещё раз, может всё не ТАК просто!

Всего записей: 3177 | Зарегистр. 09-02-2003 | Отправлено: 17:16 30-04-2006
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
Ну вообще обычно конструкция IF EXIST FOLDER\NUL работает, обычно ею пользуюсь. Раз столкнулся, что если в пути есть пробелы, то IF EXIST "FOLDER WITH SPACES\NUL"(в кавычках) не пашет.  
 
Кажется я тогда не придумал ничего лучше, чем попытаться войти в папку CD FOLDER возвращает 0 и 1 при удачной и неудачной попытках. Как то так:

Код:

@ECHO OFF
 
CD /D D:\TEST
GOTO %ERRORLEVEL%
 
:1
ECHO FOLDER NOT FOUND
GOTO :END
 
:0
ECHO FOLDER EXIST
GOTO :END
 
:END

А ты как решил?

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 12:57 01-05-2006 | Исправлено: igor_andreev, 13:22 01-05-2006
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
igor_andreev
Хммм... Использовать команду CD - зачОт. Сам возьму на заметку Кстати, pushd работает аналогично. Ключ /d для проверки тоже необязателен.
Но есть ещё решения. Будут варианты?

Всего записей: 3177 | Зарегистр. 09-02-2003 | Отправлено: 23:17 01-05-2006 | Исправлено: Smitis, 23:19 01-05-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