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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lid111
Это не важно, пустые строки не обрабатываются, а вот лишние пробелы..

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM, браво - наконец-то стопроцентное попадание!!! Остался неубитым только файл index.dat в Default User\local Settings\Temporary Internet Files на виртуальном диске, а в остальном сносится всё, даже index.dat везде! Вы говорили, что можно добавить очистку корзины - как это сделать? И заодно - можно ли добавить удаление точек восстановления (кроме последней или всех)?

Всего записей: 1451 | Зарегистр. 15-09-2006 | Отправлено: 16:25 25-02-2008
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всем привет. кто подскажет как сделать такое.
Rar a arc-name arc-file >>log%date%-%time%
 
 
>>log%date%-%time% - вот тут проблема потому как дата выводиться в виде: Mon 02/25/2008
можно ли это подправить только из командной строки ?
 
спасибо.

Всего записей: 4890 | Зарегистр. 10-11-2004 | Отправлено: 17:44 25-02-2008 | Исправлено: slech, 17:45 25-02-2008
01MDM



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

Код:
 
@echo off
setlocal
 
set "ds=Documents and Settings"
set "tf=Local Settings\Temp"
set "ti=Local Settings\Temporary Internet Files"
 
echo Start....
 
for %%i in (Q W E R T Y U I P O A S D F G H J K L Z X C V B N M) do (
        if not %~d0==%%i: call:clean %%i
)
 
echo ....Done
goto:eof
 
:clean
 
if exist %1:\Windows\Temp (
    pushd %1:\Windows\Temp
    call:delete
    popd
)
 
if exist %1:\WinNT\Temp (
    pushd %1:\WinNT\Temp
    call:delete
    popd
)

::
:: Корзина. Встречал и Recycler и Recycled
::

if exist %1:\Recycler (
    pushd %1:\Recycler
    call:delete
    popd
)
 
if exist %1:\Recycled (
    pushd %1:\Recycled
    call:delete
    popd
)

:: Точки восстановления
:: Удаляет все подпапки вида RP001. У меня рабоает,  
:: но я конечно не проверял на удаление

if exist "%1:\System Volume Information\*_restore*" (
    pushd "%1:\System Volume Information\*_restore*"
    for /f %%i in ('dir /b /ad') do rd /s /q %%i
    popd
)
 
if not exist "%1:\%ds%" goto:eof
for /f "tokens=*" %%i in ('dir /b /ad "%1:\%ds%"') do (
     if exist "%1:\%ds%\%%i\%tf%" (    
        pushd "%1:\%ds%\%%i\%tf%"
        call:delete
        popd
    )
     if exist "%1:\%ds%\%%i\%ti%" (    
        pushd "%1:\%ds%\%%i\%ti%"
        call:delete
        popd
    )
)
goto:eof
 
:delete
del /q /a /f *.* 1>nul 2>&1
for /f "tokens=*" %%i in ('dir /b /ad') do rd /s /q "%%i" 1>nul 2>&1
 
 
 
 
Добавлено:
slech
Это наверное win2K? А как надо вывести?
 
%date:~-10,2%.%date:~-7,2%.%date:~-4%  

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
это XP  - мне нужно что бы имя файла было data-time

Цитата:
%date:~-10,2%.%date:~-7,2%.%date:~-4%

спасибо , помогло.
 
Добавлено:
а как со временем быть ?
чёто не совсем пойму.

Всего записей: 4890 | Зарегистр. 10-11-2004 | Отправлено: 18:36 25-02-2008
01MDM



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

Код:
 
:: отсекаем последние три символа
set t=%time:~0,-3%
:: заменяем двоеточие на дефис
set t=%t::=-%
echo %t%
 


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

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

Всего записей: 1451 | Зарегистр. 15-09-2006 | Отправлено: 21:19 25-02-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 в кармане.
В Висте не пробовал запускать, за неимением поблизости копма с оной, но наверно и там будет работать. Вот

Всего записей: 1667 | Зарегистр. 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

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

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

Всего записей: 1667 | Зарегистр. 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) ?

Всего записей: 85 | Зарегистр. 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, спасибо за подсказку!

Всего записей: 85 | Зарегистр. 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 бэкап реестра сделать ?
всех веток в один файл.
 
спасибо.

Всего записей: 4890 | Зарегистр. 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
   

Страницы: 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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru