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

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shish_kebab
только сегодняшние:
xxcopy /h /da:. /fc /s  "c:\program files" "куда"
хэлп прочитать вообще никак?

Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 21:31 11-09-2006
Shish_kebab



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

Цитата:
А только для сегодняшней даты (не универсальный вариант) - совсем просто:  

Вот это то что нужно сенкс.
Да и за это пояснение  

Цитата:
Тогда вместо  
Код:  
FOR /R %PATH_POISK% %%a IN (*.*) DO @Call :MY_DEL "%%a" %%~ta  
Код:  
FOR %%a IN (%PATH_POISK%\*.*) DO @Call :MY_DEL "%%a" %%~ta  
 

тоже сенкс.
 
 
Добавлено:
Refugee

Цитата:
xxcopy /h /da:. /fc /s  "c:\program files" "куда"  
хэлп прочитать вообще никак?

Обязательно почту, но наде же иметь и альтернативные варианты

Всего записей: 372 | Зарегистр. 14-07-2005 | Отправлено: 21:39 11-09-2006
Reznikoff

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Kirillhome
убрал CLS толку нет.
так же всегда выполняется первое условие. т.е. всегда errorlevel 1 внезависимоти от того, что ты там нажал. странно.
хотя errorlevel (цифра) правильная.
набрал echo %errorlevel%, выводится 1 или 2 в зависисимости от того, что выбрал

Всего записей: 62 | Зарегистр. 18-07-2005 | Отправлено: 09:09 12-09-2006 | Исправлено: Reznikoff, 09:11 12-09-2006
Kirillhome



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Reznikoff
Ну, тогда может и надо
 
IF %ERRORLEVEL%=1 ...

Всего записей: 426 | Зарегистр. 23-11-2004 | Отправлено: 10:34 12-09-2006
Bol970



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую All.
 
Имеется надобность получить диапазон чисел месяца, предыдущей (от "сегодоня") недели.
Т.е. если брать за сегодня "12.09.2006",
то должно быть "4.09-10.09".
 
День недели начинается с понедельника.
Операционная система Win2k3 или WinXP.
Настройки стоят русские.
 
PS  
или мне быстрее это на Pascal или С накликать.

Всего записей: 94 | Зарегистр. 05-10-2004 | Отправлено: 10:54 12-09-2006 | Исправлено: Bol970, 12:53 12-09-2006
ilovevirus

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток! Подскажите пожалуйста вот написал простенький файлик, нужно чтобы по его работе писался протокол (лог) - удачи или неудачи выполнения операций.
 
Файлик такой:
[
REM [Закрытие доступа к диску C:]
net share C /delete
net stop MуService
 
REM [Основной процесс]
 
REM [Открытие доступа к диску C:]
net share C=c: /GRANT:Everyone,FULL
net start MуService
]
 
И как прописать правильно условия, например если не удалось закрыть шару, то не выполнять основной процесс и т.д. Заранее СПАСИБО!

Всего записей: 18 | Зарегистр. 19-09-2005 | Отправлено: 11:58 12-09-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ilovevirus
Ести тебе надо вести логи удачи неудачи отдельно, То пользуйся

Код:
Net Share C /Delete 1>C:\Log.log 2>C:\LogErr.log  

Если вместе, в одном файле, то

Код:
Net Share C /Delete >C:\Log.log >C:\Log.log 2>&1

 
Если не удалось закрыть шару
Проверка

Код:
IF File \\Comp\Share\File.txt

 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:35 12-09-2006
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bol970
week.js:
function month2(m) {return ("0"+(m.getMonth()+1)).slice(-2);};
d = new Date(); dow = d.getDay(); if (dow==0) dow=7;
mb=new Date(d.getTime() - (6+dow)*24*3600*1000);
sb=new Date(d.getTime() - (dow)*24*3600*1000);
WScript.Echo ( mb.getDate()+"."+month2(mb)+"-"+sb.getDate()+"."+month2(sb));
 

Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 15:36 12-09-2006
Bol970



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Refugee
 
Большое спасибо.  
То что нужно.

Всего записей: 94 | Зарегистр. 05-10-2004 | Отправлено: 16:22 12-09-2006
Zitz

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги, помогите пожалуйста с проблемой. Из батника вызывается программа, потом анализируется код возврата, с которым она завершилась, что-то вроде if errorlevel 1 goto LABEL. Так вот, в 2000/XP все нормально, а в 9x errorlevel после вызова программы всегда равен 0. Насколько я понял дело здесь в том, что command.com в отличие от cmd.exe не дожидается, когда и с каким результатом завершится прога, а переходит к следующей команде (сама вызываемая прога 0 не возвращает ни при каких обстоятельствах). Как можно анализировать код возврата в 9х?

Всего записей: 47 | Зарегистр. 25-01-2005 | Отправлено: 15:26 13-09-2006
tolyn77



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

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 15:34 13-09-2006
llirik99

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

Цитата:
lame.exe -b 256 -h "19-Samurai Code Final Quote.mp3"

на все *.mp3, которые есть в папке, откуда запускается батник.
 
Знаю, что это просто, знаю, что факовый наверняка вопрос, но то немногое , что знал о батниках, уже забыл. Уж что-то, а синтаксис точно не вспомню

Всего записей: 100 | Зарегистр. 08-04-2006 | Отправлено: 16:44 13-09-2006
KapralBel



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

Код:
 
@Echo Off
Command /q /w
Echo %ErrorLevel%

 
llirik99
FOR /?
 

Код:
For %%a in (*.mp3) Do  lame.exe -b 256 -h "%%a"

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



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
llirik99
 
for %f in (*.mp3) do lame.exe -b 256 -h "%f"
 
главное чтобы lame был доступен через PATH, или надо указать полный путь к lame.exe

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
llirik99
Если будешь выполнять из командной строки, то пользуйся синтаксисом как указал MasterTheMAC с одним %
Если в батничек вставлять то моим, с двумя %%

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



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

Код:
lame.exe -b 256 -h *.mp3

 
А так работать не будет?

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 19:46 13-09-2006
llirik99

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MasterTheMAC, KapralBel
Спсибо огромное за бесценные советы )
Единственный минус - он кодирует по кругу, без остановки. То есть проходит первый раз, создает файлы *.mp3.mp3, - это правильно, но потом чешет дальше - делает *.mp3.mp3.mp3 и т.д. Но это ничего - главное вовремя остановить ))
 
01MDM

Цитата:
lame.exe -b 256 -h *.mp3
 А так работать не будет?

Не, так уже сам пробовал )) Только первый файл кодируется...
 
 

Всего записей: 100 | Зарегистр. 08-04-2006 | Отправлено: 22:10 13-09-2006 | Исправлено: llirik99, 22:30 13-09-2006
VladimirKvach

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, подскажите как из командной строки узнать mac-адрес удаленной машины?
getmac не подходит ибо rpc закрыто. Можно ли как-то по другому?
 
Спасибо.

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



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

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Да мне тут посоветовали очень изящное, по-моему, решение:

Цитата:
В фаре выделяешь нужные мп3шки, жмёшь Ctrl-G и там пишешь lame.exe -b 256 -h "!.!"


Всего записей: 100 | Зарегистр. 08-04-2006 | Отправлено: 10:33 14-09-2006 | Исправлено: llirik99, 10:33 14-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