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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне кстати slech своим вопросом напомнил...
В общем я нашел таки способ, как определять двумя строчками кода день-месяц-год-день недели на любой 2000\XP\2003 с любыми региональными настройками, на любой языковой версии ОС, сколько их там выпускается? XP-дистрибьютивов кажется больше сорока языков существует.
 
Способ простой. В папке system32 всегда есть makecab.exe. Всегда английская, других версий просто нет. У нее есть параметр [-f file.ext] - брать параметры архивирования из file.ext. Попробуйте натравить makecab на любой пустой файл, например:

Код:

makecab -f C:\MSDOS.SYS

Увидите в папке запуска два файлика, setup.inf и setup.rpt, makecab.exe везде пытается нагадить Загляните в них. Ничего не напоминает? Функциональность now.exe встроена в makecab.exe.
 
Ну и вытаскивается в цикле for, что надо, вроде:

Код:

@echo off
echo.>"%TEMP%\~.ddf"
makecab /D RptFileName="%TEMP%\~.rpt" /D InfFileName="%TEMP%\~.inf" -f "%TEMP%\~.ddf">nul
for /f "tokens=4,5,7" %%a in ('type "%TEMP%\~.rpt"') do if not defined current-date set "current-date=%%c-%%a-%%b"
echo %current-date%
del /q "%TEMP%\~.*"
pause

или там  

Код:

@echo off
echo.>"%TEMP%\~.ddf"
makecab /D RptFileName="%TEMP%\~.rpt"  /D InfFileName="%TEMP%\~.inf" -f "%TEMP%\~.ddf">nul
for /f "tokens=3" %%a in ('type "%TEMP%\~.rpt"') do if not defined weekday set "weekday=%%a"
echo %weekday%
del /q "%TEMP%\~.*"
pause

Доли секунды и W DD MMM YYYY в кармане.
В Висте не пробовал запускать, за неимением поблизости копма с оной, но наверно и там будет работать. Вот

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 01:16 26-02-2008 | Исправлено: igor_andreev, 01:35 26-02-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
В шапку! Сейчас же!!!
P.S. В обе шапки! В "Задачи на bat-файлах" тоже.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 01:39 26-02-2008
igor_andreev

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

Цитата:
В шапку!

Согласен. Очень много "копий сломано" на форматах даты, и на нашем форуме, и в инете вообще...
 
 
Добавлено:
Вернее "копей"

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 02:03 26-02-2008
prevero

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте,
 
у меня такой вопрос, можно ли при помощи бат-файла
 скопировать изображение на икране в bmp,jpg-файл.

Всего записей: 1 | Зарегистр. 26-02-2008 | Отправлено: 02:40 26-02-2008
sdaww

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос -можно ли из командной строки поменять настройки сетевого подключения (IP, шлюз, DNS, Wins) ?

Всего записей: 89 | Зарегистр. 17-01-2007 | Отправлено: 14:09 27-02-2008
KapralBel



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

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:25 27-02-2008
sdaww

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel, спасибо за подсказку!

Всего записей: 89 | Зарегистр. 17-01-2007 | Отправлено: 14:31 27-02-2008
Troll

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

Всего записей: 115 | Зарегистр. 04-11-2003 | Отправлено: 20:05 27-02-2008
01MDM



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

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

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

Всего записей: 472 | Зарегистр. 01-08-2006 | Отправлено: 23:40 27-02-2008
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
возможно немного не в тему.
 
можно ли с помощью reg.exe бэкап реестра сделать ?
всех веток в один файл.
 
спасибо.

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 01:08 28-02-2008 | Исправлено: slech, 01:11 28-02-2008
Elroir



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

Цитата:
можно ли запускать батник в фоновом режиме

Можно с помощью сторонних утилит:
cmdow или hstart.
 

Цитата:
или хотя бы свёрнутым


Код:
start /MIN batnik.bat


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 01:50 28-02-2008
Wise_Kaa



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, а можно ли как-то в winXP из командной строки узнать какой нынче день недели? В Win2000 команда date показывала день недели,а  в Win XP нет, как быть?
 
P.S. не знаю в эту тему или нет, но есть еще такая проблема... Компьютер ночью должен копировать часть файлов на сетевой диск. Батник хорошо работает днем, когда я его запускаю вручную, но сетевые диски не доступны, когда батник запускается через планировщик заданий. Как исправить ситуацию?

Всего записей: 59 | Зарегистр. 04-01-2006 | Отправлено: 13:00 28-02-2008 | Исправлено: Wise_Kaa, 13:22 28-02-2008
gryu



дикий гусь
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Раз уж подняли вопрос по поводу команды reg.exe
Вопрос.  
Можно ли бэкапить не ВЕТКУ рееестра, а именно чётко пределённые ключи и их значения?
Т.е. есть к примеру ветка  
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
и есть там параметр ShowSuperHidden"=dword:00000001  
Так вот мне нужно что бы на выходе был файл в которм был бы ТОЛЬКО это ключ, а не он + ещё куча других находящихся в этой ветке реестра.  
(ну или как вариант, обработка полученного *.reg файла до вида, когда в файле остаётся только нуджый(ные) ключ)
 
Добавлено:
Wise_Kaa
На той же странице, что и твой вопрос есть его решение. igor_andreev

Цитата:
В общем я нашел таки способ, как определять двумя строчками кода день-месяц-год-день недели на любой 2000\XP\2003 с любыми региональными настройками, на любой языковой версии ОС, сколько их там выпускается? XP-дистрибьютивов кажется больше сорока языков существует.  
 

http://forum.ru-board.com/topic.cgi?forum=5&topic=25393&start=340#9

Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 13:07 28-02-2008
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Еще одна фича reg.exe версии 3.0 (в Windows XP такая). Мне тут нужно было экспортировать не в юникодный файл "Windows Registry Editor Version 5.00", а в ansi "REGEDIT4". Пользовался "regedit /ea", потом прикрутил к батнику reg.exe версии 2.0 из ресурс-кита win2k, есть у нее параметр комстроки /nt4

Код:

reg export HKEY_CURRENT_USER\Console test.reg /nt4

test.reg будет формата REGEDIT4.
Потом интересу ради попробовал ту же команду с xp-шной reg.exe - работает!  
А в выводе xp-шной "reg export /?" ничего про /nt4 не сказано. Недокументированная такая фича. Если все про это знают, то извиняюсь за флуд , я только пару дней назад это обнаружил.

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 14:30 28-02-2008
Troll

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

Цитата:
Troll  
Пример батника покажи.

ping -n 5 localhost > nul
openvpn-gui --connect PSXXXXXXX.ovpn

Всего записей: 115 | Зарегистр. 04-11-2003 | Отправлено: 20:22 28-02-2008
01MDM



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

Код:
 
ping -n 5 localhost > nul
start "" openvpn-gui --connect PSXXXXXXX.ovpn
 

 
 
 
Добавлено:
gryu
Попробуй, для reg_sz и reg_dword. На первый взгляд работает. У dword первые нули отсекаются, но при импортировании все нормально. С reg_sz возможны неувязки.

Код:
 
@echo off
setlocal
 
:: Название ветки должно быть полным, а не HKLM
set "rpath=HKEY_CURRENT_USER\Path\To\Key"
set "name=ParName"
 
echo Windows Registry Editor Version 5.00 >test.reg
echo.>>test.reg
echo [%rpath%]>>test.reg
 
for /f "tokens=2,3*" %%i in ('reg query "%rpath%" ^| findstr /c:"%name%"') do (
    set type=%%i
    if %%i==REG_SZ set value="%%j %%k"
    if %%i==REG_DWORD set value=dword:%%j
    set "flag=%%k"    
)
 
set value=%value:\=\\%
set value=%value:0x=%
if %type%==REG_SZ (
    if "%flag%"=="" set value=%value:~0,-2%"
)
echo "%name%"=%value%>>test.reg
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:59 28-02-2008 | Исправлено: 01MDM, 22:13 28-02-2008
Tnav

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Elroir
спасибо.
 
еще вопрос, что прописать в конце батника (или с каким параметром start) что бы досовское окошко закрылось при окончании всех комманд?

Всего записей: 472 | Зарегистр. 01-08-2006 | Отправлено: 22:54 28-02-2008
Elroir



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

Цитата:
еще вопрос, что прописать в конце батника (или с каким параметром start) что бы досовское окошко закрылось при окончании всех комманд?

Вообще-то оно должно само закрыться. В общих чертах - все неконсольные программы надо запускать с помощью комaнды start. Лучше приведи код батника - тогда можно будет сказать точнее.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 23:02 28-02-2008
Tnav

Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Elroir
в батнике только одна комманда rasdial
 
rasdial имя логин пароль
 
дело в том что у меня vpn соединение часто рвётся, и обидно когда оставляешь что то качать аотом обнаруживает что ничего не скачалось.
я сделал батник и в планировщик через каждые пол часа... но когда во что то играю или фильм смотрю начинает напрягать выскакивающее черное окошко  
 
когда запускаю сам батник, он выполняется и закрывается, но если через start \MIN то запускается cmd.exe выполняеся комманда и окошко продолжает висеть.

Всего записей: 472 | Зарегистр. 01-08-2006 | Отправлено: 00:39 29-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