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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Widok (03-03-2010 16:29): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
(часть 1) (часть 2)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 5
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Курс лекций для начинающих. Полезно и просто описано
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
· Уильям Станек - Командная строка Microsoft Windows (вплоть до w2k3)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек)
· Переход из 32-битной версии cmd.exe в 64-битную

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:38 10-03-2009 | Исправлено: TechnicsKuzya, 13:54 27-12-2009
NovaC

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
необходимо в cmd запустить exe и в качестве параметра передать IP адрес рабочего места. Подскажите как средствами cmd "вычленить" IP и подсунуть его параметром ?

Всего записей: 95 | Зарегистр. 09-01-2008 | Отправлено: 11:40 31-03-2009
Maza_Faka



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

Код:
 
@Echo Off
 
FOR /F "Usebackq Tokens=1,2 Delims=:" %%A in (`Ipconfig ^| Find /I "IP"`) Do Set IPAdress=%%B
 
Echo %IPAdress:~1%
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 13:44 31-03-2009
NovaC

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

Всего записей: 95 | Зарегистр. 09-01-2008 | Отправлено: 13:58 01-04-2009
Dimetriu

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.  
Помогите пожалуйста решить задачу. Нужно заархивировать(rar) все файлы *.txt в каталоге.  Проблема заключается в том что каждый файл должен быть в отдельном архиве, почему именно так - преподователь решил усложнить задачку.
Всё, сделал.

Всего записей: 1 | Зарегистр. 01-04-2009 | Отправлено: 15:34 01-04-2009 | Исправлено: Dimetriu, 16:37 01-04-2009
vmazur47

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток.
Подскажите, пожалуйста, как решить проблемку. Есть куча файлов бекапов sql, которые создаются каждый день. С помощью батника  
forfiles /p d:\backup\ /d -14 /m *.* /c "cmd /c del /a /f @FILE"
удаляю все, которые старше 2-х недель. Но на всякий случай хотелось бы оставить бекап каждого начала месяца, тоесть файлы, созданные например 01.02.2009. Подскажите как это можно реализовать? Просто выборка 01.??.???? не работает.

Всего записей: 17 | Зарегистр. 11-07-2008 | Отправлено: 12:19 02-04-2009 | Исправлено: vmazur47, 12:21 02-04-2009
Maza_Faka



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

Код:
 
@Echo Off
 
Set BackupDir=d:\backup\
 
For /F "Tokens=*" %%A In ('forfiles /p %BackupDir% /d -14 /m *.*') Do Echo %%~tA | Findstr "^01">Nul || Del /F /Q "%BackupDir%%%~A"
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 14:09 02-04-2009
vmazur47

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maza_Faka
Попробуйте так:
 

Код:
 
@Echo Off
 
Set BackupDir=d:\backup\
 
For /F "Tokens=*" %%A In ('forfiles /p %BackupDir% /d -14 /m *.*') Do Echo %%~tA | Findstr "^01">Nul || Del /F /Q "%BackupDir%%%~A"  
 

 
К сожалению этот код отрабатывает только удаление всех файлов, старше 14 дней. Файлы с датой создания например 01.02.2008 сносит тоже, а хотелось бы чтоб они оставались.

Всего записей: 17 | Зарегистр. 11-07-2008 | Отправлено: 14:50 02-04-2009 | Исправлено: vmazur47, 14:52 02-04-2009
Maza_Faka



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

Цитата:
Файлы с датой создания например 01.02.2008 сносит тоже

У меня отрабатывает нормально, какой формат даты в системе?

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 09:38 03-04-2009
vmazur47

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

Цитата:
У меня отрабатывает нормально, какой формат даты в системе?

 
Формат даты в системе 3 апреля 2009 г., 10:01:00
Попробовал посмотреть что выводит команда
 
For /F "Tokens=*" %%A In ('forfiles /p %BackupDir% /d -14 /m *.*') Do Echo %%~tA >>1.txt
 
получились глюки:
 
ђҐ¦Ё¬ ўлў®¤  Є®¬ -¤ -  нЄа - (ECHO) ®вЄ«озҐ-.
ђҐ¦Ё¬ ўлў®¤  Є®¬ -¤ -  нЄа - (ECHO) ®вЄ«озҐ-.
ђҐ¦Ё¬ ўлў®¤  Є®¬ -¤ -  нЄа - (ECHO) ®вЄ«озҐ-.

Всего записей: 17 | Зарегистр. 11-07-2008 | Отправлено: 11:09 03-04-2009
Maza_Faka



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

Цитата:
получились глюки:

Это не глюки, а Dos-кодировка 866. Откройте файл в редакторе, который поддерживают данную кодировку, например Akelpad.
 
Добавлено:
vmazur47
Выполните в командной строке:

Код:
 
Echo %DATE%
 

и запостите результат.

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:21 03-04-2009
vmazur47

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

Цитата:
Выполните в командной строке:
Код:
Echo %DATE%
и запостите результат.

Получилось: 12:14:41,41
 

Цитата:
 
Это не глюки, а Dos-кодировка 866. Откройте файл в редакторе, который поддерживают данную кодировку, например Akelpad.  

 
Согласен. Я кажется нашёл проблемму, но не знаю как с нею справится. При запуске батника из папки, где лежат сами файлы, программа отрабатаывается как надо. При запуске из любой другой пишет  
 
Режим вывода команд на экран (ECHO) отключен.
 
Как заставить его работать правильно?

Всего записей: 17 | Зарегистр. 11-07-2008 | Отправлено: 17:12 03-04-2009
Maza_Faka



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

Цитата:
Получилось: 12:14:41,41

Какая ОС?
 

Цитата:
Как заставить его работать правильно?

Выложите код.

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:48 04-04-2009
vmazur47

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

Цитата:
Какая ОС?  

Винда SP3 ru
 
 

Цитата:
Выложите код.


Код:
 
@Echo off
Set BackupDir=d:\log\
For /F "Tokens=*" %%A In ('forfiles /p %BackupDir% /d -14 /m *.*') Do Echo %%~tA | Findstr "^01">Nul || Del /F /Q "%BackupDir%%%~A"
 

При запуске этого батника из любого места проходит только удаление всех файлов, старше 14 дней. При запуске файла из самой директории отрабатывает правильно - тоесть и удаляет все старше 14-ти дней, и оставляет все файлы с датой создания первого числа любого месяца.

Всего записей: 17 | Зарегистр. 11-07-2008 | Отправлено: 11:01 06-04-2009
claus22

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а ктонибудь заморачивался с командником для автоматического определения присвоенного айпишника при впн подключении и добавления его в роутинг
 
т.е. впн соединение установлено айпишник присваивается динамически в соответствии с настройками удаленногос сервера
и нужно выцепить этот айпи и подставить в команду  
 
route add 192.168.3.0 mask 255.255.255.0 <ip присвоенный при подключении к впн>
 
как выдрать этот айпишник с наименьшими телодвижениями в переменную?
 
есть вариант проще чем выполнение ipconfig /all и find строки вроде IP.......192.168.222.xxx?

Всего записей: 118 | Зарегистр. 21-07-2004 | Отправлено: 17:34 06-04-2009
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите !
Какой командой в батнике можно запустить ПРОГРАММА.exe , чтобы батник не дожидался её завершения, а продолжал выполнялся дальше ?
типа:
бла бла
бла бла
start /w ПРОГРАММА.exe
копировать
удалять
 
и т.п.

Всего записей: 1468 | Зарегистр. 28-10-2007 | Отправлено: 23:06 06-04-2009 | Исправлено: vitrzn, 23:16 06-04-2009
Elroir



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

Код:
start "" "ПРОГРАММА.exe"
 


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 03:15 07-04-2009
D555



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, есть ли какой-нибудь способ - прописать в батнике - чтобы окно работы батника вообще не выводилось(не появлялось) на мониторе ?

Всего записей: 375 | Зарегистр. 17-04-2003 | Отправлено: 04:15 07-04-2009 | Исправлено: D555, 05:01 07-04-2009
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D555
 
Можно запускать батник при помощи vbc-скрипта, при помощи сторонних утилит или от другой учетной записи через планировщик (at, schtasks)  
 
cmdow в шапке.
Или hstart, страница hstart с примерами использования утилиты.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 08:20 07-04-2009 | Исправлено: 01MDM, 08:21 07-04-2009
vitrzn



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

Цитата:
D555

 
Можно ещё посоветовать программку TrayIt!.exe, умеет скрывать ВСЁ в трей, в том числе и полностью скрывать (в процессах конечно будет видно).  
 
Или как вариант без установки сторонних утилит, можно текст в батнике (визуальном окошке) скрыть , с помощью команды Color

Всего записей: 1468 | Зарегистр. 28-10-2007 | Отправлено: 08:52 07-04-2009 | Исправлено: vitrzn, 08:53 07-04-2009
Elroir



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

Цитата:
Или как вариант без установки сторонних утилит, можно текст в батнике (визуальном окошке) скрыть , с помощью команды Color

Нельзя.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 09:43 07-04-2009
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (03-03-2010 16:29): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru