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

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

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



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

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 05:40 24-05-2007 | Исправлено: utka00, 05:42 24-05-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
utka00
Например нужно очищать папку "c:\temp" каждые 10 минут

Код:
 
@echo off
:del_
pushd C:\Temp
rd /s /q C:\Temp 2>nul
ping -n 601 localhost>nul
goto del_
 

 
Добавлено:
mozers

Цитата:
Понимаю, что дело в сравнении %errorlevel% == 0 (если это заменить на твой вариант - ERRORLEVEL 1 - то все работает) но разве так, как сравниваю я - НЕЛЬЗЯ???


Цитата:
@ping -n 1 128.0.0.1>nul & IF %errorlevel% == 0 (ECHO OK) ELSE (ECHO No)

 
Попробуй так:

Код:
 
@echo off
setlocal enabledelayedexpansion
ping -n 1 128.0.0.1>nul & IF !errorlevel! == 0 (ECHO OK) ELSE (ECHO No)
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:30 24-05-2007 | Исправлено: Maza Faka, 08:31 24-05-2007
utka00



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

Всего записей: 95 | Зарегистр. 01-05-2007 | Отправлено: 09:31 24-05-2007
OOD

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как раздать Nat с консоля Win Xp Для определенного IP адреса?

Всего записей: 3378 | Зарегистр. 20-05-2006 | Отправлено: 09:47 24-05-2007
PREVED



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как можно проверить через батник запущена ли в данный момент служба windows nt? И в зависимости от состояния службы, предпринять какие-либо действия...

Всего записей: 1962 | Зарегистр. 10-03-2006 | Отправлено: 12:23 24-05-2007
KapralBel



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

Код:
sc queryex e1serv.exe | find /i "4  RUNNING"
Call :_Run%ErrorLevel%
GoTo :EOF
 
:_Run0
Echo Service running
GoTo :EOF
 
:_Run1
Echo Service stop or not exist
GoTo :EOF
 
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:18 24-05-2007
Maza Faka



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

Код:
 
sc queryex e1serv.exe | find /i "4  RUNNING">nul && Echo Service is running || Echo Service is not running
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 14:28 24-05-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Maza Faka
Можно и так
А ты уверен, что действия в этих случаях поместятся в одну строку?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:02 24-05-2007
YSF



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для подключения к интернету (ADSL WAN PPPOE) создал bat файл
 
@echo off
rasdial "ADSL-имя" "Логин" "Пароль"  
 
При запуске орет:
Ошибка службы  удаленного  доступа 623  - Системе  не   удалось  найти  запись  телефонной книги    для    этого    подключения.
Чтобы вывести  сведения  о  данной  ошибке:
введите   'hh netcfg.chm'   и  в  Справке
выберите   раздел   разрешения   проблем,   затем  сообщений   об  ошибках   и   найдите 623.
Скопировал rasphone.pbk в папку ras - то же самое.
Прописал в батнике полный путь к rasphone.pbk - то же самое.
При запуске rasphone появляется окно с вопросом соединить с ADSL-имя и т.д.
Пользователь в системе один.
При наборе текста батника в коммандной строке соединение происходит!!!!!!!!!!!
Помогите, пожалуйста, разобраться в чем проблема.
 
Какой еще командой можно установить соединение без подтверждения (rasphone требует подтверждения)

Всего записей: 2224 | Зарегистр. 06-05-2006 | Отправлено: 15:58 24-05-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YSF
Если в имени подключения содержаться русские буквы, то сохрани батничек в кодировке 866 или первой строкой вставь CHCP 1251

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:12 24-05-2007
Elroir



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

Цитата:
Спасибо, скрипт работает, только он делает ярлыки ко всем папкам в корневой директории, а нужно еще ко всем поддиректориям, ко всему дереву поддиректорий в корневой директории. Это возможно?

Видимо так:

Код:
 
@echo off
setlocal
set "shortcuts_folder=c:\shortcuts"
md "%shortcuts_folder%" 2>nul
call :process "%variable%" "\"  
:process
if "%1"=="" exit /b
for /f "tokens=*" %%a in ('dir /b /ad "%~1%~2" 2^>nul') do (
nircmdc shortcut "~x25variable~x25%~2%%a" "%shortcuts_folder%" "%%a"
call :process "%~1" "%~2%%a\"
)
 
 
Вместо c:\shortcuts пишешь абсолютный путь к директории, куда будут складываться ссылки.

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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
Цитата:
C "нормальными" командами - можно. А ping.exe - дура  
Может и "дура", только тут она - ни при чем. Если писать в 2 строки, то все отработает нормально:
Код:
@MD test>nul
@IF %errorlevel% == 0 (ECHO OK) ELSE (ECHO No)
(Я специально заменил ping на безобидную MD. При первом запуске она создает каталог test и возвращает 0. При втором, поскольку каталог уже существует, возвращается 1)
Та же запись, но в одну строку (через &) всегда возвращает только OK
Наверное это - просто аксиома без всяких доказательств...
(В будущем буду использовать только ERRORLEVEL 1 - для надежности)
 
Maza Faka
Цитата:
@setlocal enabledelayedexpansion & MD test>nul & IF !errorlevel! == 0 (ECHO OK) ELSE (ECHO No)
Замудрено, конечно, но работает
 
Спасибо всем!
Запись в одну строку нужна была не для понта, а чтобы не создавать лишний файл(пакетник) - редактор SciTE позволяет создавать собственные команды в меню. Естественно, команда пишется одной строкой. Кстати, для правки батников/сценариев этот редактор - самое то  

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 16:42 24-05-2007
YSF



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

Цитата:
Если в имени подключения содержаться русские буквы...

Оно у меня так и называется "ADSL".
Из командной строки все работает, а из батника нет.
Boт что я понять не могу.

Всего записей: 2224 | Зарегистр. 06-05-2006 | Отправлено: 16:48 24-05-2007
igor_andreev

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

Цитата:
Наверное это - просто аксиома без всяких доказательств...

Да, наверно особенности работы cmd.exe и переменной %errorlevel%, не хочет принимать правильное значение после &. Ping.exe все равно дура В одну строчку еще можно:
ping -n 1 128.0.0.1 >nul && echo OK || echo No

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 16:54 24-05-2007
KapralBel



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

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:55 24-05-2007
YSF



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Ну как логин и пароль могут быть не на аглицком.
Только цифири и маленькие аглицкие буквы.
 
 

Всего записей: 2224 | Зарегистр. 06-05-2006 | Отправлено: 17:17 24-05-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YSF
запусти инет и дай команду
RasDial >log.txt
и его содержимое скопируй сюда

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:24 24-05-2007
YSF



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
 
Глюк подкинул Евгений Кашпировский!!!
Убрал самозащиту, приостановил защиту.
Запустил батник - все ОК`
Включил самозащиту и защиту,
опять запустил батник - все ОК`
 
Большое Человеческое Спасибо за участие!

Всего записей: 2224 | Зарегистр. 06-05-2006 | Отправлено: 17:32 24-05-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YSF
А какая версия Каспера стоит
А то у меня с его продуктами ни разу такого не вылазило (лет 5)

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:38 24-05-2007
YSF



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
 
KIS 6.0.2.621
C 2000 года первый глюк.

Всего записей: 2224 | Зарегистр. 06-05-2006 | Отправлено: 17:55 24-05-2007 | Исправлено: YSF, 18:11 24-05-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