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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd) 2

Модерирует : gyra, Maz

Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
(часть 1)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 5
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Курс лекций для начинающих. Полезно и просто описано
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
· Уильям Станек - Командная строка Microsoft Windows (вплоть до w2k3)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек)
 
Старая версия первого сообщения

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:08 19-11-2007 | Исправлено: Dmitriy05, 22:49 13-04-2008
Fantom 14



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

Всего записей: 322 | Зарегистр. 23-10-2004 | Отправлено: 11:51 13-01-2008
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте ребята.
 
Мне нужно чтобы при запуске командной строки контекст выбора  
примерно так:
если вам нужно ЯЯЯЯ нажмите 1  
если вам нужно тытыты нажмите 2  
если вам нужно мымымы нажмите 3
 
И после выбора определенного поля выполняется та определенная команда.
 
после выбора 1 выполняется команда:

Цитата:
 MOVE /Y xxx.dll "%systemroot%\system32"

и так далие.  
Надеюсь задумку вы поняли ) .
 
Помогите осуществить.
 
 
 

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 13:04 13-01-2008 | Исправлено: XXXXL, 16:32 13-01-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fantom 14
Используй значения переменной errorlevel для получения результата операции с rar-ом:

Цитата:
    RAR exits with a zero code (0) in case of successful operation. The exit
    code of non-zero means the operation was cancelled due to an error:
 
     255   USER BREAK       User stopped the process
       9   CREATE ERROR     Create file error
       8   MEMORY ERROR     Not enough memory for operation
       7   USER ERROR       Command line option error
       6   OPEN ERROR       Open file error
       5   WRITE ERROR      Write to disk error
       4   LOCKED ARCHIVE   Attempt to modify an archive previously locked
                            by the 'k' command
       3   CRC ERROR        A CRC error occurred when unpacking
       2   FATAL ERROR      A fatal error occurred
       1   WARNING          Non fatal error(s) occurred
       0   SUCCESS          Successful operation
 

Кроме того, у rar-а есть ключи, при использовании которых, он создает log файлы.
 
XXXXL

Код:
 
@echo off
chcp 1251 >nul
echo если вам нужно ЯЯЯЯ нажмите 1  
echo если вам нужно тытыты нажмите 2  
echo если вам нужно мымымы нажмите 3
set /p "ans=Ваш выбор? "
if %ans%==1 (MOVE /Y xxx.dll "%systemroot%\system32")
if %ans%==2 (MOVE /Y yyy.dll "%systemroot%\system32")
if %ans%==3 (MOVE /Y zzz.dll "%systemroot%\system32")
 


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:55 13-01-2008 | Исправлено: Elroir, 21:58 13-01-2008
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir благодарствую!!!
то что и нужно было.
 
Зря тут нету кнопоки "спасибо"

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 23:45 13-01-2008
Anton34237



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
To all
Ребята подскажите, пожалуйста, есть файл .cmd для прописания IP, а как установить динамический?
 
 
@netsh interface ip set address name="Подключение по локальной сети" static 192.168.0.2 255.255.255.0 192.168.0.1 1
@echo Идет настройка DNS сервера
@netsh interface ip set dns name="Подключение по локальной сети" static 172.16.0.1
@netsh interface ip add dns name="Подключение по локальной сети" 10.10.10.1 index=2
@pause

Всего записей: 64 | Зарегистр. 13-03-2006 | Отправлено: 03:10 14-01-2008
Taciturn

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Anton34237
@netsh interface ip set address name="Подключение по локальной сети" source=dhcp
@echo Идет настройка DNS сервера  
@netsh interface ip set dns name="Подключение по локальной сети" source=dhcp
@pause

Всего записей: 1975 | Зарегистр. 26-07-2003 | Отправлено: 06:54 14-01-2008
Anton34237



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Taciturn
Спасибо, всё работает, как надо.

Всего записей: 64 | Зарегистр. 13-03-2006 | Отправлено: 08:28 14-01-2008
XXXXL



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

Цитата:
@echo off
rasdial "[CONNECTION]" /disconnect
sleep.exe 3
rasdial "[CONNECTION]" "[USERNAME]" "[PASSWORD]"

 
Нужен бат с диалогом который при запуски спросит "ваше название соединения" после ввода заменит [CONNECTION] на введенное, потом попросит ввести логин и заменит им [USERNAME] и с [PASSWORD] анологично.
Знаю что мысль бред, но мне парой ой как надо.

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 00:12 16-01-2008
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
XXXXL
 rasdial "[CONNECTION]" * *
Может такое устроит?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 01:06 16-01-2008
XXXXL



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

Цитата:
rasdial "[CONNECTION]" * *  
Может такое устроит?

 
Нет. это не то что нужно (
Тут весь смысл в том что очень часто приходится объяснять людям как заполнить Reconnect.bat

Цитата:
@echo off  
rasdial "имя соединения" /disconnect  
rasdial "имя соединения" "логин" "пароль"  

и бывает так что это парой очень тяжело и занимает много  драгоценного времени.А так можно было бы дать батнастройшик, попросить кликнуть по нему да раза и следовать всем указанием.
 

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 07:15 16-01-2008
Nitrogen



TSRh TeaM
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
XXXXL
setup.cmd создающий connect.cmd

Цитата:
 
@echo off
echo Enter Conection name:  
set /p connect=
echo.
echo Enter Login:  
set /p login=
echo.
echo Enter Password:  
set /p password=
 
echo echo off>connect.cmd
echo rasdial "%connect%" /disconnect>>connect.cmd
echo ping 127.0.0.1 -n 5 >>connect.cmd
echo rasdial "%connect%" "%login%" "%password%">>connect.cmd
 

или я не понял твое тз

Всего записей: 1536 | Зарегистр. 21-09-2001 | Отправлено: 08:21 16-01-2008
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
XXXXL
Не понял - зачем разрывать связь, а потом её снова запускать
 
Может перетянуть ярлык на нужное подключение - будет и запрос имени и пароля
 
Давай более подробную задачу

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:22 16-01-2008
kalkin5



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2ALL
подскажите пож-та как правильно изменить файлик? нужно чтобы задержка была 20 сек
был исходный файл, на 5 сек
Код:
echo on
SetLocal EnableExtensions EnableDelayedExpansion
 
rem Установлена задержка в 5 секунд
rem Через 5 секунд продолжится
 
set /a paused=%time:~7,-3%+5
if %paused% GEQ 10 set /a paused=!paused!-10
:check
set /a ttt=%time:~7,-3%
if not %paused%==%ttt% goto :check
 
pause

я его модифицировал, но он слегка "кривоват" и не выдерживает точно время, что нужно исправить?
Код:
echo on
SetLocal EnableExtensions EnableDelayedExpansion
 
rem Установлена задержка в 20 секунд
rem Через 20 секунд продолжится
 
set /a paused=%time:~6,-3%+20
pause
if %paused% GEQ 40 set /a paused=!paused!-40
:check
set /a ttt=%time:~6,-3%
if not %paused%==%ttt% goto :check
 
pause

Всего записей: 189 | Зарегистр. 21-03-2006 | Отправлено: 12:10 16-01-2008 | Исправлено: kalkin5, 12:12 16-01-2008
XXXXL



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

Цитата:
Не понял - зачем разрывать связь, а потом её снова запускать  
 
Может перетянуть ярлык на нужное подключение - будет и запрос имени и пароля  
 
Давай более подробную задачу

 
Это компонент для программы которая качает автоматом с rapidshare.com а этот сервер даёт бесплатно скачивать только один раз в два часа с одного IP адреса. и после того как программа скачает файл она запускает этот бот который и заменяет ip.
Чел запускает прогу и открывается бат каторый и поможет настроить тот самый бат для реконекта. Я использовал спец прогу каторыя сама выдергивать пас и логин и записывала в реконнект бат. только на неё кричат антивирусы(
 
Nitrogen
Это то что и нужно было! спасибо! ограмное!
 
 
 
Добавлено:
Почему этот код не хочет работать
В чём может быть ошибка?

Цитата:
@echo off  
chcp 1251 >nul  
echo ESLI U VAS OBICHNOE PODKLUCHENIE JMITE 1 i ENTER  
echo ESLI U VAS ROUTER Fritz!Box JMITE 2 i ENTER  
echo ESLI U VAS ROUTER JMITE 3 i ENTER  
echo ESLI U VAS STRIM JMITE 4 i ENTER
 
set /p "ans=vash vibor? "  
 
if %ans%==1 (echo Enter Conection name:  
set /p connect=  
echo.  
echo Enter Login:  
set /p login=  
echo.  
echo Enter Password:  
set /p password=  
echo echo off>reconect.bat  
echo rasdial "%connect%" /disconnect>>reconect.bat  
echo sleep.exe 3 >>reconect.bat  
echo rasdial "%connect%" "%login%" "%password%">>reconect.bat)
 
if %ans%==2 (FritzBoxreconect)
 
if %ans%==3 (echo Enter yo router Ip:
set /p Ip=
echo.  
echo Enter Login:
set /p login=  
echo Enter Password:
set /p password=
echo h %IP% >>autoTln\doit.prc
echo c >>autoTln\doit.prc
echo p 2000 >>autoTln\doit.prc
echo s %login% >>autoTln\doit.prc
echo p 1000 >>autoTln\doit.prc
echo s #13 >>autoTln\doit.prc
echo p 2000 >>autoTln\doit.prc
echo s %password% >>autoTln\doit.prc
echo p 1000 >>autoTln\doit.prc
echo s #13 >>autoTln\doit.prc
echo p 2000 >>autoTln\doit.prc
echo s reboot >>autoTln\doit.prc
echo s #13 >>autoTln\doit.prc
echo p 15000 >>autoTln\doit.prc
echo d >>autoTln\doit.prc)  
 
if %ans%==4 (echo Enter yo router Ip:
set /p Ip=
echo.
echo Enter Password:
set /p password=
echo ztnbatch.exe -h %IP% -p %password% -c "poe drop poe0">>reconect.bat)

 
 
 
 

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 18:55 16-01-2008 | Исправлено: XXXXL, 19:02 16-01-2008
Elroir



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

Цитата:
Почему этот код не хочет работать  
В чём может быть ошибка?

1. Поставь на второй строчке (после @echo off):

Код:
setlocal enabledelayedexpansion

2. Везде, где используется конструкция %переменная%, замени на !переменная!


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 23:42 16-01-2008 | Исправлено: Elroir, 23:45 16-01-2008
XXXXL



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

Цитата:
1. Поставь на второй строчке (после @echo off):  
2. Везде, где используется конструкция %переменная%, замени на !переменная!  

 
Заработало на ура!  
 
Elroir, Nitrogen, СПАСИБО!

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 07:39 17-01-2008 | Исправлено: XXXXL, 07:40 17-01-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalkin5
Не проще использовать ping.exe?

Код:
 
@echo off
echo Установлена задержка в 20 секунд
echo Через 20 секунд продолжится...
ping -n 21 localhost >nul
echo ...продолжилось
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:16 17-01-2008
kalkin5



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
может быть и проще... не пробывал
мне нужно засунуть в RunOnceEx.cmd паузу секунд на 40, вот думаю как это проще сделать...
никто не подскажет?
озвучивал на oszone на там пока никто не ответил
 

Всего записей: 189 | Зарегистр. 21-03-2006 | Отправлено: 12:26 17-01-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalkin5
Здесь несчетное количество раз обсуждался вопрос паузы или задержки. Было предложено много решений - ping, sleep.exe, циклы в батниках....
Поищи в версии для печати первой части топика по слову "задержка".

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:22 17-01-2008
kalkin5



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
я понимаю спасибо, просто есть опасение, что команда вызванная из RunOnceEx напрямую, некоректно отработает, а если команда вызовет bat или cmd файл с задержкой, то возможно след команда, которая будет импортировать злополучные ключи в реестр запустится до того как отработает файлик с задержкой, буду пробывать на виртуалке, еще раз спасибо всем кто откликнулся

Всего записей: 189 | Зарегистр. 21-03-2006 | Отправлено: 17:13 17-01-2008
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd) 2
Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru