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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
igor_andreev

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

Цитата:
Или я многое прошу?!!

Не многое. Но это баян тырк

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 10:19 12-08-2008 | Исправлено: igor_andreev, 10:54 12-08-2008
olegpronin



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите собрать bat:
 
нужно считать имена всех папок в данной папке и записать их в текстовый файл, чтоб было на каждой строке по одному имени.
 
спасибо!

Всего записей: 5365 | Зарегистр. 31-01-2007 | Отправлено: 19:28 12-08-2008
Elroir



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

Код:
 
@for /f "tokens=*" %%a in ('dir /ad /b') do @echo %%a>>list.txt
 


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:35 12-08-2008
DenFed

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

Цитата:
- Easy Batch Builder (в розыске)

 
Спешел фо ю:
 
Ссылка на саму прогу (последняя версия 2.1.2.63)
 
http://www.xyst.eu/software/ebb/download.html
 
А вот навалял патчик :
 
Easy Batch Builder v2.1.2.63.
http://rapidshare.com/files/136820131/Patch_Easy_Batch_Builder_v2.1.2.63.rar
 
При регистрации вводи любые данные.

Всего записей: 103 | Зарегистр. 28-03-2005 | Отправлено: 20:54 12-08-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, а как можно переменовать много папок?
есть назв папки 2008.08.08 --> надо 08-08
есть назв папки 2008.07.30 --> надо 07-30
 
Т.е. папок много, а формат перенования один и тот-же !

Всего записей: 1496 | Зарегистр. 28-10-2007 | Отправлено: 21:41 13-08-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vitrzn
Если все папки такого вида 2008.01.01 и не являются вложенными друг в друга

Код:
 
@echo off
for /f "tokens=1-3 delims=." %%i in ('dir /b /ad') do ren %%i.%%j.%%k %%j-%%k  
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 22:39 13-08-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
то что МАСТЕР прописал ,

Всего записей: 1496 | Зарегистр. 28-10-2007 | Отправлено: 23:17 13-08-2008
xxtestxx

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.  
Как удалить из реестра ветку по маске через командную строку?

Всего записей: 4 | Зарегистр. 12-08-2008 | Отправлено: 10:34 15-08-2008
vitrzn



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

Цитата:
@echo off  
for /f "tokens=1-3 delims=." %%i in ('dir /b /ad') do ren %%i.%%j.%%k %%j-%%k  

 
А если один раз таким образом папки форматнул, то второй раз уже не получается.
Т.е. была папка 2008.08.08 -> стала 08-08, а вот если опять рядом появилась папка  2008.08.08 то она уже не может стать 08-08 и переместить/объединить всё содержимое
 
Это нормально?

Всего записей: 1496 | Зарегистр. 28-10-2007 | Отправлено: 13:36 15-08-2008 | Исправлено: vitrzn, 20:28 15-08-2008
Elroir



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

Цитата:
Как удалить из реестра ветку по маске через командную строку?

Насколько я знаю - это невозможно. Точнее, возможно, но очень долго и со многими ограничениями.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 17:29 15-08-2008
NitrogenRuBoard



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно сделать следующий батник.
1. Создать ADSL подключение (через rasdial не проблема. не в этом суть)
2. Проверить какой у меня внешний айпи:
Если совпадает с маской 78.36.*.* то все нормально
Если не совпадает то переподключиться.
И так до тех пор пока не будет совпадать.
 
Сори если где то проскакивало - не нашел.
 
Добавлено:
нашел и сделал по примеру:

Код:
@echo off  
setlocal  
:: Установка переменых  
set "connection_name=ADSL"  
set "connection_login=LOGIN"  
set "connection_password=PASSWORD"  
 
:: Проверка существования соединения  
:check_inet  
rasdial | find "%connection_name%" && (goto check_ip) || (goto connect)  
 
:: Проверка IP  
:check_ip  
for /f "tokens=1* delims=:. " %%a in ('ipconfig ^| find "IP"') do set "cur_address=%%b"  
for /f "tokens=1-2 delims=."  %%a in ('echo %cur_address%') do (  
   if /i not %%a.%%b==78.36 (  
      goto disconnect  
   ) else (  
      goto ok  
   )  
)  
 
:: Отключение  
:disconnect  
rasdial "%connection_name%" /DISCONNECT  
ping -n 3 -w 1000 localhost>nul  
goto connect  
 
:: Соединение  
:connect  
rasdial "%connection_name%" %connection_login% %connection_password%  
rasdial | find /i "%connection_name%"  
if %errorlevel%==1 (  
   ping -n 3 -w 1000 localhost>nul  
   goto connect  
)  
goto check_ip  
 
:: Все хорошо  
:ok  
echo IP адрес - %cur_address%

но почему то если айпи адрес не совпадает с маской то не отключается а проверяет еще раз и так далее.

Всего записей: 71 | Зарегистр. 14-06-2006 | Отправлено: 19:58 15-08-2008 | Исправлено: NitrogenRuBoard, 20:34 15-08-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прости за "чайниковский" вопрос
надо сделать так чтобы в батнике часть процессо выполнялось в скрытом режиме а часть нет, понимаю что это можно сделать с помощью @echo off/on , но у меня получается либо всё скрыто либо наоборот.
 
@echo off
скрыто скрыто скрыто
скрыто скрыто скрыто
скрыто скрыто скрыто
 
@echo on
видно видно видно
видно видно видно
видно видно видно
 
 
Так не получается

Всего записей: 1496 | Зарегистр. 28-10-2007 | Отправлено: 10:36 16-08-2008
Smitis



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

Цитата:
Спешел фо ю:  
 
Ссылка на саму прогу (последняя версия 2.1.2.63)  
 
http://www.xyst.eu/software/ebb/download.html  
 
А вот навалял патчик :  
 
Easy Batch Builder v2.1.2.63.  
http://rapidshare.com/files/136820131/Patch_Easy_Batch_Builder_v2.1.2.63.rar  
 
При регистрации вводи любые данные.

Сам я этими программами не пользуюсь , но многим, думаю, пригодиться. Рекомендую создать тему в варезнике и кинуть в шапку ссылку на тему.

----------
Разум когда-нибудь победит

Всего записей: 3440 | Зарегистр. 09-02-2003 | Отправлено: 12:59 16-08-2008
Elroir



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

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

Насколько я понимаю, тебе нужно что-то вроде такого:

Код:
 
@echo off  
(
скрыто скрыто скрыто  
скрыто скрыто скрыто  
скрыто скрыто скрыто  
)>nul 2>&1
 
видно видно видно  
видно видно видно  
видно видно видно  
 

 
NitrogenRuBoard

Цитата:
почему то если айпи адрес не совпадает с маской то не отключается а проверяет еще раз и так далее

Перед строчкой "if /i not %%a.%%b==78.36" поставь строчку "echo %%a.%%b" и проверь, что в действительности находится в переменных %%a и %%b.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:46 16-08-2008 | Исправлено: Elroir, 14:46 16-08-2008
NitrogenRuBoard



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

Код:
@set @x=0 /*  
@ECHO OFF
setlocal  
:: Установка переменых  
set "connection_name=Имя подключения"  
set "connection_login=Логин"  
set "connection_password=Пароль"  
 
:: Проверка существования соединения  
:check_inet  
rasdial | find "%connection_name%" && (goto check_ip) || (goto connect)  
 
:: Проверка IP  
:check_ip  
for /f "tokens=1* delims=:. " %%a in ('ipconfig ^| find "IP"') do set "cur_address=%%b"  
for /f "tokens=1-2 delims=."  %%a in ('echo %cur_address%') do (  
   if /i not %%a.%%b==78.36 (  
      goto disconnect  
   ) else (  
      goto ok  
   )  
)  
 
:: Отключение  
:disconnect  
rasdial "%connection_name%" /DISCONNECT  
ping -n 3 -w 1000 localhost>nul
cscript //nologo /e:jscript "%~f0" 10000  
goto connect
 
 
:: Соединение  
:connect  
rasdial "%connection_name%" %connection_login% %connection_password%  
rasdial | find /i "%connection_name%"  
if %errorlevel%==1 (  
   ping -n 3 -w 1000 localhost>nul  
   cscript //nologo /e:jscript "%~f0" 10000  
   goto connect  
)  
cscript //nologo /e:jscript "%~f0" 10000  
goto check_ip  
 
:: Все хорошо  
:ok  
echo IP адрес - %cur_address%
goto:eof */ if(isFinite(WScript.Arguments(0))) WScript.Sleep(WScript.Arguments(0))

Всего записей: 71 | Зарегистр. 14-06-2006 | Отправлено: 15:43 16-08-2008
RMR

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

Всего записей: 32 | Зарегистр. 23-11-2006 | Отправлено: 23:58 17-08-2008
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RMR
http://www.petri.co.il/software/clip.zip
или  
ftp://ftp.microsoft.com/Services/TechNet/samples/PS/Win98/Reskit/FILE/CLIP.EXE

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 12:21 18-08-2008
Kilich



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопрос к великим гуру !
 
Задача такова:
Как при помощи батника завершить текущий сеанс пользователя и войти под другим
(Логин, пароль , домен)-обязательно.
Как покинуть сеанс я знаю(Shutdown -L), а вот с остальным проблема...
Если это возможно помогите!!!!

Всего записей: 267 | Зарегистр. 18-09-2006 | Отправлено: 14:39 18-08-2008
RMR

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
Спасибо. А нельзя сделать без программ? На vbscript или jscript?

Всего записей: 32 | Зарегистр. 23-11-2006 | Отправлено: 16:17 18-08-2008
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RMR
http://www.potolook.ru/blog/p,213/

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 18:04 18-08-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