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

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

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

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

Всего записей: 2 | Зарегистр. 14-12-2006 | Отправлено: 18:17 14-12-2006
d24pWorld

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Простите за глупый вопрос:  
 - переменной a присвоить значение из файла a.txt

Всего записей: 20 | Зарегистр. 23-11-2006 | Отправлено: 08:04 15-12-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
d24pWorld
Set /p a= <a.txt

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сделал батник для пакетной установки обновлении и там есть строки описания каждого обновления. Типа:
ECHO KB898461 27.06.2005 устанавливает постоянную копию установщика пакетов
start /wait .\WindowsXP-KB898461-x86-RUS.exe /Q /O /N /Z
Так из описания русские буквы не коректно отображаются в командной строке. Как это исправить? Спасибо большое заранее.

Всего записей: 4294 | Зарегистр. 28-10-2005 | Отправлено: 20:54 16-12-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TAILORD
В начале батника, напиши:

Код:
 
chcp 1251>nul
 

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:44 16-12-2006
mich76



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

Всего записей: 152 | Зарегистр. 14-12-2005 | Отправлено: 12:22 19-12-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mich76
В данном конкретном случае все гораздо проще
есть встроенная переменная %ComputerName% - которая и принимает значение имени компа

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
точно, этоу меня ум за разум зашел ))))
Сибки огромное!!!

Всего записей: 152 | Зарегистр. 14-12-2005 | Отправлено: 12:38 19-12-2006
F0rward



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
господа нужно поставить на сутки пинг некого ip и собрать в файлик статистику ответов - сходу все просто пишем ping 127.0.0.1 > 1.txt но проблема в том что команда не выводит время пинга, а надо знать когда были задержки или пропадания пингов.
Есть идеи?

Всего записей: 1261 | Зарегистр. 23-01-2002 | Отправлено: 11:09 22-12-2006
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
F0rward
в своем батнике перед пингом добавь строку
echo %time% >> 1.txt
и будет тебе щясьте
да, кстати, в пинге ты должен писать не один > а два >>, иначе каждый раз твой текстовик будет перезаписываться новым.

Всего записей: 2863 | Зарегистр. 31-10-2003 | Отправлено: 11:25 22-12-2006 | Исправлено: Accessor, 11:28 22-12-2006
art569

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

Код:
@echo off
set ip=192.168.200.1
:start  
ping %ip%
if errorlevel 1 echo %time% -- %ip% недоступен >>error
goto start

В set ip укажи свой ip, который будешь тестировать.
Файл error будет фиксировать ошибки и время.
 
А вот вариант с записью изменений времени отклика компьютера.

Код:
set ip=72.14.207.99
 
:start
sleep 10
set begintime=%time%
ping -n 1 %ip% >temp
 
for /F "tokens=10 delims= " %%i IN ('findstr /i Lost temp') do (
if %%i NEQ 0 echo %begintime% --- %ip% недоступен >>log
)
 
findstr /i Maximum temp
if errorlevel 1 goto start
 
for /F "tokens=6 delims= " %%j in ('findstr /i Maximum temp') do (
for /F "delims=m" %%k in ("%%j") do set ms=%%k
)
 
if DEFINED lastms (
if %ms% NEQ %lastms% echo %begintime% --- %ip% изменилось время отклика на %ms%ms >>log
)
 
set lastms=%ms%
 
goto start

Вот, что в результате получаем (файл log)

Код:
16:19:15,21 --- 72.14.207.99 изменилось время отклика на 144ms  
16:19:37,87 --- 72.14.207.99 недоступен  
16:20:04,70 --- 72.14.207.99 изменилось время отклика на 156ms  
16:20:16,04 --- 72.14.207.99 изменилось время отклика на 149ms  
16:20:27,35 --- 72.14.207.99 изменилось время отклика на 145ms  
16:20:49,98 --- 72.14.207.99 изменилось время отклика на 144ms  
16:21:01,29 --- 72.14.207.99 изменилось время отклика на 143ms  
 

Писалось и тестировалось на английской Windows XP.
Для использования в русской версии Windows XP, нужно поменять слова Lost и Maximum на русский вариант.

Всего записей: 32 | Зарегистр. 07-11-2005 | Отправлено: 15:38 22-12-2006 | Исправлено: art569, 17:26 22-12-2006
stalker0



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос простой: подскажите или направьте куда :
 
Как ссылкой, бат-файлом (чем-угодно, лишь бы одним движением)  
 
запустить процедуру выключения компьютера (ту самую: Пуск/Выключение/Выключение) ?

Всего записей: 686 | Зарегистр. 19-04-2005 | Отправлено: 05:11 25-12-2006
tolyn77



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

Код:
 
@echo выключение
C:\WINDOWS\RUNDLL.EXE user.exe,exitwindows
 

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 10:39 25-12-2006
FormatCvt



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

Цитата:
Вопрос простой: подскажите или направьте куда  :  
 
Как ссылкой, бат-файлом (чем-угодно, лишь бы одним движением)  
 
запустить процедуру выключения компьютера (ту самую: Пуск/Выключение/Выключение) ?  

 
А shutdown.exe не подойдет?
 
Использование: shutdown.exe [-i | -l | -s | -r | -a] [-f] [-m \\<компьютер>]
        [-t xx] [-c "комментарий"] [-d up:xx:yy]
 
    Без аргументов        Вывод справки по использованию (как и -?)
    -i            Отображение интерфейса, д.быть первым параметром
    -l            Выход (не совместим с параметром -m)
    -s            Завершение работы компьютера
    -r            Перезагрузка компьютера
    -a            Прекращение завершения работы системы
    -m \\<компьютер>    Удаленный компьютер, на котором выполняется
                действие
    -t xx            Таймаут завершения работы - xx сек.
    -c "comment"        Комментарий (не более 127 знаков)
    -f            Принудительное завершение приложений без  
                предварительного предупреждения
    -d [u][p]:xx:yy        Код причины завершения работы
                u - пользовательский код
                p - код запланированного завершения
                xx - основной код причины (1 - 255)
                yy - дополнительный код причины (1 - 65535)
 
 
Например ярлык или батник
 
%windir%\System32\shutdown.exe -r -f -t 05
 
перезагрузит комп через 5 секунд

Всего записей: 87 | Зарегистр. 18-04-2006 | Отправлено: 11:24 25-12-2006
Bablo



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
создал спиcок фильмов на ftp, такого вида

Код:
21_Grams.avi  
All Souls Day (День всей нечисти).avi  
Aziris.nuna.(Ts.2006.rus).avi  
Basic_Instinct_2.avi  
Batman & Robin (Бэтмэн и Робин).avi
 
можноли зделать батник который бы lдобавил ftp://192.168.0.1/video2/ в каждую строку ?
или для полного счастья так

Код:
<a href="ftp://192.168.0.1/video2/21_Grams.avi">21_Grams.avi</a>  
<a href="ftp://192.168.0.1/video2/All Souls Day (День всей нечисти).avi">All Souls Day (День всей нечисти).avi</a>  
<a href="ftp://192.168.0.1/video2/Aziris.nuna.(Ts.2006.rus).avi">Aziris.nuna.(Ts.2006.rus).avi</a>
<a href="ftp://192.168.0.1/video2/Basic_Instinct_2.avi">Basic_Instinct_2.avi</a>  
<a href="ftp://192.168.0.1/video2/Batman & Robin (Бэтмэн и Робин).avi">Batman & Robin (Бэтмэн и Робин).avi</a>  

Всего записей: 82 | Зарегистр. 20-06-2005 | Отправлено: 19:53 01-01-2007
Elroir



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

Цитата:
можноли зделать батник  

Можно:

Код:
 
@echo off
for /f "tokens=*" %%I in (mlinks.txt) do (
echo ^<a href="ftp://192.168.0.1/video2/%%I"^>%%I^</a^>>>movies.txt  
)
 

Здесь mlinks.txt - файл с названиями фильмов, movies.txt - создаваемый файл со ссылками.

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



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

Всего записей: 82 | Зарегистр. 20-06-2005 | Отправлено: 22:00 01-01-2007
stalker0



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

Всего записей: 686 | Зарегистр. 19-04-2005 | Отправлено: 04:50 02-01-2007
king_stiven

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно ли обращение к ярлыкам папок и файлов как к самим папкам и файлам в батах?
также надо использовать количество цифр окончательного значения переменной.
Например окончательное значение num=253 , надо использовать цифру 3, num=25, надо использовать цифру 2

Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 03:23 05-01-2007 | Исправлено: king_stiven, 13:25 05-01-2007
Smitis



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

Цитата:
Возможно ли обращение к ярлыкам папок и файлов как к самим папкам и файлам в батах?

Нет. Ярлык - это файл. И обращение к нему может быть только как к файлу.

Цитата:
также надо использовать количество цифр окончательного значения переменной.  
Например окончательное значение num=253 , надо использовать цифру 3, num=25, надо использовать цифру 2

Несколько условий подряд

Код:
 
set len=1
if %num% geq 10 set len=2
if %num% geq 100 set len=3
if %num% geq 1000 set len=4
if %num% geq 10000 set len=5
if %num% geq 100000 set len=6
 


Всего записей: 3214 | Зарегистр. 09-02-2003 | Отправлено: 15:49 05-01-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