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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
 
 
Старая версия первого сообщения

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



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

Код:
 
@echo off
echo wscript.echo Weekday(date,vbMonday)> week.vbs
for /f %%a in ('cscript week.vbs //nologo') do set weekday=%%a & del /q week.vbs
 
if %weekday%==6 (
  ...здесь твой код
  .................)
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 17:09 16-11-2007
01MDM



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

Код:
 
@echo off
for /f "tokens=2 delims==" %%i in ('wmic path win32_LocalTime get DayOfWeek /value') do (set wday=%%i)
if %wday%==6 (echo Some Code Here)
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 23:59 16-11-2007 | Исправлено: 01MDM, 00:08 17-11-2007
m0ps



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Maza Faka
01MDM
KapralBel
 
толи у меня руки кривые, толи не одна из переведенных конструкций у меня не работает... вообще ничего не произходит...

Всего записей: 372 | Зарегистр. 27-05-2006 | Отправлено: 13:43 18-11-2007 | Исправлено: m0ps, 14:14 18-11-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
m0ps
Запусти из командной строки "wmic path win32_LocalTime get DayOfWeek /value" (без кавычек). Что выдает?

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:27 18-11-2007
BrainOff



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую Столкнулся с задачей: в указаной папке перебирать в цикле файлы заданного расширения, для каждого файла запускать внешнее консольное приложение, дожидаться его завершения и переходить к следующему файлу.
 
Буду благодарен за помощь в создании батничка, времени на полное изучение к сожалению нет..

Всего записей: 501 | Зарегистр. 06-08-2006 | Отправлено: 15:11 18-11-2007
Maza Faka



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

Код:
 
@echo off
for %%a in (*.mp3) do program.exe "%%a"
 

 
P.S.
Если приложение консольное, то автоматически будет ожидаться завершение его работы, а затем будет обрабатываться следующий файл.

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 15:40 18-11-2007
BrainOff



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

Всего записей: 501 | Зарегистр. 06-08-2006 | Отправлено: 16:11 18-11-2007 | Исправлено: BrainOff, 16:14 18-11-2007
Tipulatoid



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

Цитата:
а можно получать и анализировать ответ внешнего приложения (консольного)?

Можно. в переменую %errorlevel% записывается 0 если утилита отрабтала без ошибок и другое число (код ошибки), если с ошибками. Код ошибки смотреть в справке утилиты. Поэтому:

Код:
program.exe
if /i %errorlevel%==0 echo Хорошо
if /i not %errorlevel%==0 echo Плохо
 

 
Можно также использовать символы условной обработки:
 

Цитата:
& [...] команда1 & команда2 Используется для разделения нескольких команд в одной командной строке. В Cmd.exe выполняется первая команда, затем вторая команда.  
&& [...] команда1 && команда2 Запускает команду, стоящую за символом &&, только если команда, стоящая перед этим символом была выполнена успешно. В Cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая была выполнена успешно.  
|| [...] команда1 || команда2 Запускает команду, стоящую за символом ||, только если команда, стоящая перед символом || не была выполнена. В Cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая не была выполнена (полученный код ошибки превышает ноль).  

 
Т.е.:

Код:
program.exe && echo Хорошо || echo Плохо


Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 17:12 18-11-2007
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BrainOff
В догонку к тому, что написал Tipulatoid, посмотри http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=633&limit=1 (цитата).


----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 17:48 18-11-2007
m0ps



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Elroir
DayOfWeek=0
во, конструкция от 01MDM работает, я что-то немного тупанул сори....
 
Добавлено:
и от Maza Faka работает
что-то я точно сегодня не выспался...

Всего записей: 372 | Зарегистр. 27-05-2006 | Отправлено: 23:24 18-11-2007 | Исправлено: m0ps, 23:28 18-11-2007
Aldares



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
Не подходит, все равно выводит все диски, в том числе, недоступные .

Всего записей: 620 | Зарегистр. 09-11-2004 | Отправлено: 06:15 19-11-2007
m0ps



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Elroir
кстати я оказался прав: на win2k server сценарии не работают, а вот на winxpsp2 - все как надо.

Цитата:
wmic path win32_LocalTime get DayOfWeek /value

пишет мол wmic не является внешней или внутренней командой. Непредвиденное появление: ==6

Всего записей: 372 | Зарегистр. 27-05-2006 | Отправлено: 10:27 19-11-2007
Elroir



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

Цитата:
кстати я оказался прав: на win2k server сценарии не работают

Ну так мы же не знаем, на какой операционке ты пробуешь
В большинстве случаев, люди используют WinXP, соответственно, если человек не пишет специально название ОС, по умолчанию подразумевается именно WinXP.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 11:24 19-11-2007
m0ps



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Elroir
ну я извиняюсь.. я как-то не подумал сразу...
 
дак а в чем проблема, никто не подскажет?

Всего записей: 372 | Зарегистр. 27-05-2006 | Отправлено: 11:38 19-11-2007
Elroir



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

Цитата:
дак а в чем проблема, никто не подскажет?

wmic.exe не входит в состав Windows 2000, а поставляется только в составе WinXp и выше.
Насчет vbscript... - у тебя может быть запрещено выполнение Windows Scripting Host сценариев.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 12:00 19-11-2007
Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
лимит страниц. продолжаем здесь

----------
Тень превращается в фантазии, таящиеся в глубине вашей души.
Пока идёшь ты среди теней, да не будет зла с тобой.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:08 19-11-2007
   

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