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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gryu
первое в шапке есть, а вот второе (Уильям Станек) я добавил в шапку.

Всего записей: 2863 | Зарегистр. 31-10-2003 | Отправлено: 17:04 06-02-2008
gryu



дикий гусь
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Accessor
На webfile она пролежит неделю и её потрут.  
Нужен обменник типа рапиды с премиум аккаунтом. Чтоб на постоянку разместить.

Всего записей: 13019 | Зарегистр. 15-03-2006 | Отправлено: 17:17 06-02-2008
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gryu
Разместил на Рапиде. Шапку подправил. Спасибо за книгу.

Всего записей: 2863 | Зарегистр. 31-10-2003 | Отправлено: 17:33 06-02-2008
juvaforza

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

Всего записей: 2895 | Зарегистр. 26-11-2005 | Отправлено: 22:36 06-02-2008
mrasvlad

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди помогите:
ситуация такая - есть настроенное dialup соединение в Vista, которое кроме соединения с инетом, еще и настроено на его раздачу другой сети. На рабочий стол выведен ярлык этого соединения.
Необходимо иметь CMD файл, который по его запуску разрывал бы соединение, а потом опять его восстанавливал (смена IP).
Rasdial  - нормально работает, но при выполнениии этой задачи с помощью Rasdial отваливается раздача на другую сеть, чего не происходит с ручным запуском ярлыка этого соединения.
 
Ярлык же нормально такой получается запустить в XP комбинацией Start any.lnk
но в Vista эта комманда вызывает недолгий ступор, после которого ничего не происходит и не пишется никаких сообщений...
 
Помогите разрулить эту ситуацию

Всего записей: 104 | Зарегистр. 27-05-2005 | Отправлено: 10:04 07-02-2008 | Исправлено: mrasvlad, 16:52 07-02-2008
AndreyG

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожалуйста, помогите бездарю.
Имеется 800 папок с номерами от 001 до 800. Нужно заархивировать каждую папку в свой архив с соотв. именем. Тип архива: rar + 3% инф.для восстановления. После проверки архива - содержимое папки удалить.
Пробовал сам написать - не вышло

Всего записей: 36 | Зарегистр. 22-11-2002 | Отправлено: 17:27 08-02-2008
BorlandIMHO

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

Код:
@echo off
 
set INPUTPATH="c:\path to\folders"
set OUTPUTPATH="e:\path to\archives"
for /L %%N in (1,1,9) do rar a -m5 -rr3 -ep1 -- %OUTPUTPATH%\00%%N %INPUTPATH%\00%%NN\*
for /L %%N in (10,1,99) do rar a -m5 -rr3 -ep1 -- %OUTPUTPATH%\0%%N %INPUTPATH%\0%%NN\*
for /L %%N in (100,1,800) do rar a -m5 -rr3 -ep1 -- %OUTPUTPATH%\%%N %INPUTPATH%\%%NN\*

Возможно, есть и более изящные методы...

----------
http://www.imho.ws

Всего записей: 2376 | Зарегистр. 12-10-2006 | Отправлено: 22:55 08-02-2008 | Исправлено: BorlandIMHO, 23:01 08-02-2008
Ortios



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

Код:
@echo off
for /D %%a in (*.*) do ( "c:\program files\winrar\winrar.exe" a -ap%%a -ep1 "%%a" "%%~fa\*.*")
)

Положи этот батник в каталог, где у тебя лежат твои 800 папок, должен заархивировать, на таком количестве не тестировал, а уж как удалить папки сам придумай.
Надеюсь для моего первого поста получилось изящно.
 
Добавлено:
Последнюю скобку только удали, глюкануло у меня.

Всего записей: 73 | Зарегистр. 24-12-2007 | Отправлено: 22:08 09-02-2008
Fraerok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет! Мы тут недавно сделали батник, который включает/отключает показ картинок в браузере:

Код:
for /f "skip=2 tokens=5" %%i in ('reg query "HKCU\Software\Microsoft\Internet Explorer\Main" /v "Display Inline Images"') do set val=%%i  
if %val%==yes (REG ADD "HKCU\Software\Microsoft\Internet Explorer\Main" /v "Display Inline Images" /d "no" /f) else (REG ADD "HKCU\Software\Microsoft\Internet Explorer\Main" /v "Display Inline Images" /d "yes" /f)

Дак вот галочка ставилась и снималась, но эффект можно было увидеть только в новом окне, а не в том, которое уже открыто. Спросил тут у одного человека - как быть, он ответил: используется системное сообщение на уровне API "Обновить все
окна"
 
подскажите, как это в батнике отобразить? =)

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 23:40 09-02-2008
Fraerok



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

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 01:17 11-02-2008
Smitis



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

Цитата:
С API никто не работал?

Из командных файлов? Хренасе ты загнул
П.С. Для обновления окон разве только какой-нибудь вызов через rundll32 найти. Или утилиту.

Всего записей: 3177 | Зарегистр. 09-02-2003 | Отправлено: 09:49 11-02-2008 | Исправлено: Smitis, 09:52 11-02-2008
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fraerok
Тебе же вроде как уже посоветовали добавить
Цитата:
rundll32 user32.dll,UpdatePerUserSystemParameters
Не катит что ли?

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 10:05 11-02-2008
Fraerok



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

Цитата:
rundll32 user32.dll,UpdatePerUserSystemParameters  

а что с этим делать? просто в батник если вписать, то не помогает.

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 20:22 11-02-2008
Triv

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, помогите. Может и офтопик, но все же. Все команды в командой строке выводятся кракозябрами всместо русских букв. И ipconfig, и ping, да все. Никак не найду, где и что подправить... Система ХP SP2, в региональных настройках - русский, в командной строке chcp выдает 866. Куда копать?
 
Все, спасибо, нашел глюк. Удалил поддержку иероглифов, все заработало.

Всего записей: 8 | Зарегистр. 05-02-2003 | Отправлено: 21:15 11-02-2008 | Исправлено: Triv, 21:22 11-02-2008
Sandy Ann

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите неучу! Переодически ковыряюсь в играх и если оттучить от диска полностью не выходит приходится пользоваться батниками, а конкретнее командой subst. Был нарисован код, избавляющий конечного юзера от проблем и без проблем пашущий в Хрюшке. Но в системах 9х поперли проблемы:
*При попадании на съемный диск выводится запрос "стоп\повтор\сброс\". Как игнорировать сей запрос?
*При запуске игры код выполняется дальше, а не ждет, пока игра завершится.
Подскажите, как подправить батник, чтоб он работал в 9х\МЕ так же, как и в ХР.  

Всего записей: 38 | Зарегистр. 05-02-2008 | Отправлено: 12:38 12-02-2008 | Исправлено: Sandy Ann, 22:49 13-02-2008
AndreyG

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем спасибо. В выражении
@echo off  
for /D %%a in (*.*) do ( "c:\program files\winrar\winrar.exe" a -ap%%a -ep1 "%%a" "%%~fa\*.*")  
)
всё работает даже с лишней скобкой. %% - это мои папочки?
Андрей

Всего записей: 36 | Зарегистр. 22-11-2002 | Отправлено: 15:06 14-02-2008 | Исправлено: AndreyG, 15:09 14-02-2008
Fraerok



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

Цитата:
rundll32 user32.dll,UpdatePerUserSystemParameters

как с батником связать?

Всего записей: 1723 | Зарегистр. 11-05-2006 | Отправлено: 12:31 15-02-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fraerok
Просто допишешь команду в батник и все, но я сомневаюсь, что это поможет. Тоже как-то пытался применить изменения в HKCU на лету. Получается только через logoff.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 12:41 15-02-2008
gryu



дикий гусь
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги. Понимаю, что это всё очень просто, но что то никак не соображу.
Задача.
Батник переписывает с сетевого  диска на локальный  файлы и запускает локальную программу.  
Файлы, это файлы обновлений.  
Сейчас сделано в тупую  
copy \\**\***\Shared\*.*  C:\***\Shared\ /y
C:\***\***.exe
При этом каждый раз копируются все файлы.  
Хотелось бы, что бы копирывались только изменённые и новые.
Как это сделать?  
И ещё хотелось бы, что бы в случае если всё отработало нормально (файлы переписались и прога запустилась), то досовское окошко само закрывалось (а то оно так и висит).
Но при этом в случае ошибки, оно не закрывалось, а оставалось. Плюс ошибка писалась бы в файл. типа  >>error.txt  

Всего записей: 13019 | Зарегистр. 15-03-2006 | Отправлено: 17:12 15-02-2008
01MDM



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

Код:
 
@echo off
xcopy "\\**\***\Shared\*.*"  "C:\***\Shared\"  /q /d /y  
start "" "C:\***\***.exe"  
 

xcopy /? - чтоб выбрать нужные опции
 

Цитата:
Но при этом в случае ошибки, оно не закрывалось, а оставалось. Плюс ошибка писалась бы в файл. типа  >>error.txt

Какой ошибки? Запуска ***.exe?
 
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 19:52 15-02-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