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

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

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

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

Код:
 
@ECHO OFF
FOR /D %%i IN (D:\ROOTDIR\*) DO (
  ECHO %%i|FIND "."
)
 

и вот про это поподробнее

Цитата:
заменить точки в именах на пробелы, если эти точки не находятся между цифрами

то есть some.name сменить на some name, а если some.name.123.44.56, что на что менять? Или 123.another.name.44.56.foo ?

Цитата:
Наверное, это проще всего делается на J/VBScript?  

Ну кому как, наверно проще. Если маска поиска точек в имени сложная, то в батнике без какой-нибудь тяжелой артиллерии а-ля gawk, sed, grep не обойтись. Я к примеру ими редко пользуюсь и всегда сильно матом ругаюсь при этом , потому что синтаксис не помню напрочь.

Цитата:
Какой-нибудь For Each?

Угу. Для папок

Код:
 
Set fso = CreateObject("Scripting.FileSystemObject")
Set fc = fso.GetFolder("D:\ROOTDIR").SubFolders
For Each f1 in fc
  s = s & f1.name  
  s = s & vbCRLF
Next
WScript.Echo s
 

ну тоже, естественно не WScript.Echo, а отдавать все регекспу
Пример названий папок напиши, более понятно будет. Что у тебя команда DIR /A:D /B выдает в корневой папке.
 
 
 
 

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 22:19 13-06-2005 | Исправлено: igor_andreev, 22:24 13-06-2005
TCPIP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
22:19 13-06-2005
Цитата:
если some.name.123.44.56

В случае, если some.name.1.2.3.foo.one --- на some name 1.2.3 foo one
Спасибо. Жду.

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 01:20 14-06-2005
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TCPIP
С наскоку сразу не получилось Если просто точки на пробелы сменить, то решение очевидное:

Код:
 
@ECHO OFF & SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
CD /D D:\YOUR_ROOTDIR
FOR /D %%i IN (*) DO (
 SET _=%%i&&ECHO !_!|FIND /V ".">NUL
 IF ERRORLEVEL 1 ECHO REN "!_!" "!_:.= !"
)
PAUSE
 

а вот цифры вокруг точек всю малину портят Завтра днем время будет - подумаю.

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 04:21 14-06-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
очистка корзины (только ХР!) - .bat файл
http://vito.rbcmail.ru/Misc/EmtyBinBatXP.zip
 
 
Добавлено:
очистка корзины - EXE-файл, 621 байт, на каких-то windows возможно не будет работать, хотя должен на всех .
http://vito.rbcmail.ru/Misc/EmtyBin.zip

Всего записей: 3324 | Зарегистр. 13-05-2002 | Отправлено: 04:53 14-06-2005
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TCPIP
Кажется твою задачу можно средствами самой *.cmd решить, без сторонних утилит.
Попробуй стартани в своей папке батник:
http://mail.ngs.ru/~eof/find0-9.txt
По идее он должен найти вхождения цифра.точка.слово, слово.точка.цифра и сменить точку в таких местах(не все название папки) на пробел. Вернее не сменить, а показать, как сие место будет выглядеть после переименования. Если цифра.точка.цифра, то оставить точку на месте. Посмотри, как на твоих папках отработает.  
 
vito333
Прикольно, оба варианта работают, ХР SР2.
 
РS: Кстати я случайно наткнулся, как можно узнать из батника, пустая папка или нет, KChernov спрашивал раньше. Если кому понадобится:

Код:
 
@ECHO OFF
DIR D:\Your_dir\*.* /B | FIND /V "lYubAyA_HrEnOtEn">NUL && ECHO NOT EMPTY || ECHO EMPTY
 

 

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 17:05 14-06-2005 | Исправлено: igor_andreev, 17:33 14-06-2005
TCPIP

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

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 19:45 14-06-2005
igor_andreev

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

Цитата:
Спасибо!

А пока не за что еще. Вот если получится у тебя батники из двух моих последних постов совместить, тады да. Находит последний батник у тебя цифры в названии папок с точками?

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 20:51 14-06-2005
scup



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

Всего записей: 556 | Зарегистр. 04-04-2003 | Отправлено: 09:36 17-06-2005
Smitis



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

Цитата:
есть ли проги, меняющие имена полей в dbf-файлах из ком. строки? Или как еще такое можно реализовать из батника?

Написать свою консольную программу на Clipper-е (почти шутка, лет 10 назад я так и делал). Чёткого рецепта я тебе не дам, могу только посоветовать обратить внимание на связку WSH+ODBC.

Всего записей: 3453 | Зарегистр. 09-02-2003 | Отправлено: 01:29 18-06-2005
tosha_cool



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа! Такой вопрос - можно ли при помощи .bat файла сделать следующее:
стартовать сервис, запустить программу (.exe файл), после закрытия пользователем программы остановить сервис?

Всего записей: 7 | Зарегистр. 02-02-2005 | Отправлено: 16:54 22-06-2005
Ambal



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
маленький тест
1.bat
======
echo start
notepad
echo stop
======
 
вроде работает.
вместо echo естетсвенно должна вызываться программа работы с сервисами ( sc /? )

Всего записей: 229 | Зарегистр. 01-06-2004 | Отправлено: 17:41 22-06-2005 | Исправлено: Ambal, 17:47 22-06-2005
tosha_cool



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

Всего записей: 7 | Зарегистр. 02-02-2005 | Отправлено: 11:27 23-06-2005
larryOnOff



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Нужен следующий скрипт.
Прописывает IP, Маску подсети, Default Gateway (не знаю что это).
Затем включает пользователя Guest, если он не включен
и прописывает такую-то рабочую группу.

Всего записей: 453 | Зарегистр. 16-12-2004 | Отправлено: 17:17 09-07-2005
FormatM

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени всем!
Народ, не подскажите как из батника рулить группами пользователей?
Задача в следующем, есть разные группы пользователей (User, Buxgalteriya, Commercial) и для каждой группы должны мапиться разные диски и вноситься разные изменения в реестр.

Всего записей: 38 | Зарегистр. 15-02-2005 | Отправлено: 17:55 11-07-2005
Satyr



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как с помощью командной строки заводить пользователей? Давать им права? Задавать пароли?
Все для win2k/xp/nt

Всего записей: 273 | Зарегистр. 18-01-2002 | Отправлено: 01:35 12-07-2005
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
larryOnOff
FormatM
Satyr
Все вопросы какие-то, пользователи-права-группы... Спросите лучше в Автоматизации администрирования, там админы быстрей ответят.
http://forum.ru-board.com/topic.cgi?forum=8&topic=1908#1
 

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 02:28 12-07-2005
Fktrc

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Юзера и командная строка: внимательно читать net help user | more

Всего записей: 86 | Зарегистр. 22-04-2004 | Отправлено: 09:57 12-07-2005
bredonosec



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сорьки за ламерский вопрос, в батнике, чтоб закомментировать строку, но так, чтоб на экране при выполнении появилась, точку с запятой ставить вначале, или после "Echo"
; Echo comment
или  
Echo ; comment
 
?

Всего записей: 16269 | Зарегистр. 13-02-2003 | Отправлено: 01:42 14-07-2005
cainz



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bredonosec
конечно же echo ; comment
или, чтоб красиво смотрелось - @echo ; comment

Всего записей: 77 | Зарегистр. 31-05-2005 | Отправлено: 02:03 14-07-2005
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
bredonosec
Закоментировать строку можно двумя способами:
1. Стандартный способ - поставить в начале строки REM отделив его от комментируемой строки пробелом или табуляцией.
2. Нестандартный способ - поставить в начале строки двоеточие. Командный процессор воспринимает такую строку как метку. Если после двоеточия будет пробел, то такая "метка" никогда не совпадёт с метками в goto и в call. Я, например, обычно для коментариев ставлю в начале строк два двоеточия подряд и затем пробел - выглядит красивши
 
Добавлено:
cainz
Точка с запятой для коментариев в батниках не используется.

Всего записей: 3453 | Зарегистр. 09-02-2003 | Отправлено: 02:05 14-07-2005 | Исправлено: Smitis, 02:07 14-07-2005
   

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