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

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

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

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
ОК
Сейчас только поинтересуюсь у автора, не против ли

Всего записей: 1282 | Зарегистр. 04-01-2003 | Отправлено: 10:54 28-04-2006
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nicka_Grey
KapralBel
А консольных тулз для смены разрешения экрана полно в инете.
QRes http://home.no/aksoftware/
ResChange http://www.12noon.com/reschange.htm
MultiRes http://www.entechtaiwan.com/util/multires.shtm
Nircmdc http://www.nirsoft.net/utils/nircmd.html
еще какие то есть, но не помню где

Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 12:25 28-04-2006
Hrist



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
тупой вопрос но все же
 
как создать папку с именем прошлого месяца?

----------
"Дьявол рождается из пены на губах ангела, защищающего правое дело". ГРИГОРИЙ ПОМЕРАНЦ

Всего записей: 2897 | Зарегистр. 24-06-2002 | Отправлено: 17:48 01-05-2006
volodyalipkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hrist
echo %date:~4,2% или echo%date:~6,2% вернет номер месяца. ( Зависит от региональных настроек).
Дальше if ...

Всего записей: 768 | Зарегистр. 12-10-2002 | Отправлено: 21:04 01-05-2006
Nicka_Grey

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

Всего записей: 1282 | Зарегистр. 04-01-2003 | Отправлено: 15:38 03-05-2006
Smitis



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

Цитата:
А есть ли возможность получить дату в нужном формате, независимо от региональных настроек?

Можно. Почитай сдесь подробно разбирали.

Всего записей: 2433 | Зарегистр. 09-02-2003 | Отправлено: 09:35 04-05-2006
AleXeyS55



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача встала такая: нужно на ПК с ОС 2000\ХР с помощью скрипта блокировать все записи в группе Администраторы кроме одной и сменить пароль этой одной записи, допустим пусть это будет запись admin.
Можете помочь?

Всего записей: 227 | Зарегистр. 30-01-2006 | Отправлено: 15:06 05-05-2006
scup



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как пронумеровать все строки в файле одним батником?

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 14:46 06-05-2006
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
scup
find /n /v "" < old.txt > new.txt
 
или FOR... прибавляй счетчик.

Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 14:59 06-05-2006
scup



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

Цитата:
или FOR... прибавляй счетчик
igor_andreev Угу, а как его прибавлять-то?
 
 
 
Добавлено:
find /n /v "" < old.txt > new.txt  Способ хороший и красивый, но числа нужны без квадратных скобок, от них можно избавиться?

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 15:55 06-05-2006
igor_andreev

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

Цитата:
Угу, а как его прибавлять-то?

Запусти два батника и найди отличие
1

Код:

@ECHO OFF
 
SET COUNT=
 
:_LOOP
SET COUNT=%COUNT%X
ECHO %COUNT%
IF NOT "%COUNT%"=="XXXXXXXXXXXXXXXXXXXX" GOTO :_LOOP
 
PAUSE

 
2

Код:

@ECHO OFF
 
SET COUNT=
 
:_LOOP
SET /A COUNT=%COUNT%+1
ECHO %COUNT%
IF NOT "%COUNT%"=="20" GOTO :_LOOP
 
PAUSE

 
В твоем случае наверно так

Код:

@ECHO OFF
SET COUNT=0
FOR /F "TOKENS=*" %%A IN (OLD.TXT) DO CALL :_SOMELABEL %%A
GOTO :END
 
:_SOMELABEL
SET /A COUNT+=1
ECHO %COUNT%. %*>>NEW.TXT
:END

 
Но с FIND правильней будет, если и пустые строки считать надо, команда FOR их пропускает.
А я б вообще честно говоря vbs-скриптом сделал это.  

Код:

Set fso = CreateObject("Scripting.FileSystemObject")
Set OLD_FILE = fso.OpenTextFile("old.txt", 1)
Set NEW_FILE = fso.OpenTextFile("new.txt", 8, true)
 
i = 1
 
Do Until OLD_FILE.AtEndOfStream
  NEW_FILE.WriteLine i & vbTab & OLD_FILE.ReadLine
  i = i + 1
Loop
 
OLD_FILE.Close
NEW_FILE.Close
Set fso = Nothing


Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 18:12 06-05-2006 | Исправлено: igor_andreev, 19:38 06-05-2006
scup



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

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 14:23 10-05-2006
volodyalipkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В PATH прописан некий пакет, содержащий файл dir.exe. Переименовывать его или выкидывать пакет из PATH нельзя. Как в батнике/консоле вызвать встроенную команду dir?

Всего записей: 768 | Зарегистр. 12-10-2002 | Отправлено: 22:22 10-05-2006
scup



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не так понял, исправил
 
Добавлено:
volodyalipkin
Команда Path ; очищает путь поиска используемых файлов, ограничиваясь текущим каталогом. Может это поможет.

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 22:29 10-05-2006 | Исправлено: scup, 22:31 10-05-2006
volodyalipkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
scup
Не годится. PATH трогать не хочется, ибо часть програм из пакета нужны. Можно убрать Path, а все команды из пакета вызывать с полным путём ... Но это скучно. Хотелось что-то типа ~dir всегда вызывает встроенную команду. Обидно, что если бы было наоборот, т.е. вызывалась бы внутренняя команда, то можно было бы вызывать dir.exe

Всего записей: 768 | Зарегистр. 12-10-2002 | Отправлено: 23:10 10-05-2006
jak_forest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volodyalipkin
создать батник типа такого (название _dir.cmd):

Код:
 
cd <где лежит dir.exe>
ren dir.exe dir.bak
dir %*
ren bak.exe dir.exe

пойдет такой вариант в свете переименовываний ?
 
 
Добавлено:
volodyalipkin
работу батника _не_ проверял!
 
scup
Если числа разделены пробелами или табами то  

Код:
 
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=1,2,3,4,5" %%i in (file.txt) do (
    set /a !res!=%%i+%%j+%%k+%%l+%%m
    echo !res!
)
 

Работу батника _не_ проверял!

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 09:17 11-05-2006
scup



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jak_forest Не работает, и на взгляд, суммироваться будут значения в строках, а не в  столбцах.

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 10:18 11-05-2006
FDK

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, не подскажете, каким образом можно получить IP-адрес для обработки (точнее интересует даже сеть, т.е. сеть одна - вася, сеть другая - не вася =))
Заранее спасибо.

Всего записей: 86 | Зарегистр. 14-04-2004 | Отправлено: 11:58 11-05-2006
jak_forest

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

Код:
 
set s1=0
set s2=0
set s3=0
set s4=0
set s5=0
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=1,2,3,4,5" %%i in (file.txt) do (
    set /a s1=!s1! +%%i
    set /a s2=!s2! +%%j
    set /a s3=!s3! +%%k
    set /a s4=!s4! +%%l
    set /a s5=!s5! +%%m
)
echo %s1%
echo %s2%
echo %s3%
echo %s4%
echo %s5%
 

 
Добавлено:
FDK

Код:
 
for /f "tokens=2 delims=:" %i in ('ipconfig  ^| findstr "IP-"') do echo %i
 

минусы:
-перед ip-адресом выводит пробел.
при использовании в батнике замени "%i" на "%%i"

Всего записей: 55 | Зарегистр. 07-12-2005 | Отправлено: 12:30 11-05-2006
FDK

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jak_forest
А что если 2 сетевых интерфейса?
Попробовал - в батнике не срабатывает.

Всего записей: 86 | Зарегистр. 14-04-2004 | Отправлено: 13:20 11-05-2006 | Исправлено: FDK, 13:43 11-05-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 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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru