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

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



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

Цитата:
 
Бывают ситуации, когда необходимо работать с ftp, не имея под рукой никакого графического клиента. Но не стоит отчаиваться, в Windows есть встроенный ftp клиент - ftp.exe. Его основные команды:
..........................................................................................
 
в BINARY не забудь переключица    

Цитата:
 
ECHO OFF
COLOR 9F
CLS
FTP
PAUSE
 

и вот тута help набери в консоли
 
Добавлено:
батником не делал никогда - так в ручную фтепечил

Цитата:
 
ECHO OFF
COLOR 9F
CLS
echo OPEN ftp.mozilla.org>MYFTP.txt
echo ANONYMOUS>>MYFTP.txt
echo 123>>MYFTP.txt
echo BELL>>MYFTP.txt
echo DIR>>MYFTP.txt
echo CD pub>>MYFTP.txt
echo DIR>>MYFTP.txt
echo CD firefox>>MYFTP.txt
echo DIR>>MYFTP.txt
echo CD releases>>MYFTP.txt
echo DIR>>MYFTP.txt
echo CD 3.5.3>>MYFTP.txt
echo DIR>>MYFTP.txt
echo CD win32>>MYFTP.txt
echo DIR>>MYFTP.txt
echo CD ru>>MYFTP.txt
echo DIR>>MYFTP.txt
echo binary>>MYFTP.txt
echo STATUS>>MYFTP.txt
echo get "Firefox Setup 3.5.3.exe">>MYFTP.txt
echo quit>>MYFTP.txt
ftp -s:myftp.txt
DEL /Q MYFTP.txt
pause
 

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 08:54 26-09-2009 | Исправлено: bomzzz, 04:03 27-09-2009
dimpase

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день, скажите как удалить устаревшие папки.
Есть папки вида 26-09-09 00
26-09-09 01
26-09-09 02
26-09-09 03
как удалить все папки старее 20 дней? заранее спасибо.

Всего записей: 130 | Зарегистр. 29-09-2008 | Отправлено: 10:21 26-09-2009
01MDM



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

Цитата:
как удалить устаревшие папки.

Высчитывать дату, исходя из названия, дело неблагодарное. Лучше воспользоваться утилитой forfiles.exe

Код:
 
forfiles /d -20 /c "cmd /c if @isdir==TRUE rd /s /q @file"
 

 
Кажется в висте и семерке она "из коробки"
 
forfiles /?
 
Добавлено:
bomzzz
Не обязательно составлять файл команд для ftp.exe, можно все прописать в самом батнике. Два ругательные фразы от ftp :), но работает. Пример:

Код:
 
@echo off
ftp /s:%~nx0 /A ftp.mozilla.org
exit /b
 
cd pub/addons/10
get adblock-0.5.2.055-fx+fl+mz+ns.xpi
bye
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:26 26-09-2009
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
 
если батник большой и чтоб ошибок не возникало можно пролистать нужное количество строк, и "DATA блок для FTP" обойти переходом, чтоб выполнение в эту часть кода не передавалось. можно ремарками сделать и ремарки отрезать. лучше в конец прилепить и ендом выйти

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:18 26-09-2009 | Исправлено: bomzzz, 12:20 26-09-2009
vgiki

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Благодарю всех, очень помогли=)

Всего записей: 13 | Зарегистр. 31-10-2008 | Отправлено: 16:55 26-09-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Цитата:
чтоб ошибок не возникало можно пролистать нужное количество строк
Чет никак не допетрю как это можно сделать. Приведи рабочий пример.

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 17:04 26-09-2009
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 17:21 26-09-2009 | Исправлено: bomzzz, 18:14 26-09-2009
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задачка показалась интересной. Получился такой гибрид:
Код:
@ECHO OFF
MORE /e +7 < %~nx0 > tmp
FTP -s:tmp -A
DEL tmp
EXIT /b
 
:: FTP commands
open ftp.mozilla.org
cd pub/addons/10
get adblock-0.5.2.055-fx+fl+mz+ns.xpi
bye

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 20:53 26-09-2009
bomzzz



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

Цитата:
 
странно у меня этого в справке нету - написано exit параметры отсутсвуут
EXIT /B n
Using EXIT /B will stop execution of a batch file or subroutine and return control to the command processor or to the calling batch file or code immediately.
EXIT /B is available in Windows 2000 and later versions' CMD.EXE only.
If followed by an integer number the code will return an exit code or ERRORLEVEL equal to that number.
 

наверно так как это было добавленно позже для совместимости не включили. правда в справке написано color текст фон , а на самом деле наоборот    
 
смайлик сделал  
 

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 00:37 27-09-2009 | Исправлено: bomzzz, 08:27 27-09-2009
HaK1R



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tigr72
1 ВОПРОС ответ скрывается в sed http://unxutils.sourceforge.net/
2 ВОПРОС  

Код:
@echo off
for /f "tokens=*" %%a in ('dir /b /a um9.fau`la') do (
  if %%~za GTR 1024 (goto :EOF)::Проверка размера(в байтах), если больше выходим, иначе продолжаем
)
::blablabla
::prodoljenie programmbl

Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 16:42 27-09-2009 | Исправлено: HaK1R, 16:46 27-09-2009
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте ребята!
 
Нужен батник который проверяет  в определенной категории наличие файла к примеру 1.txt который находится в "C:\Temp" если его там не находит запускает  1.bat если находит то 2.bat.
Помогите пожалуйста реализовать.
Спасибо!
 

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 21:48 27-09-2009
bomzzz



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

Цитата:
 
if [not] exist имя_файла команда [else выражение]
 

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 22:11 27-09-2009
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz, спасибо!
 
Ещё есть проблема... иной раз когда в батнике прописано запускать определёную программу, предположим "1.exe" а её нет, то выскакивает сообщение с ошибкой "Windows не удалось найти 1.exe и т.д"
Если возможность избежать появление этого сообщения? тоесть если даже "1.exe" нет, то батник начинает выполнять следующие ниже идущие задачи.
 
Спасибо!

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 14:36 28-09-2009
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XXXXL
Ну так и используй условие "if [not] exist":

Код:
 
@echo off
if exist 1.exe 1.exe
echo going next
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 14:48 28-09-2009
XXXXL



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

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 15:43 28-09-2009
NuclearBox

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли способ контролировать из командной строки Интернет-соединение?
 
Подскажите, уважаемые. Если можно - как написать код такого батника?
 
Я так представляю, что батник циклически пингует через определенные промежутки какой-то интернет-адрес, а если пинг не прошел - делает какое-то новое действие. Мне достаточно, чтобы он при разрыве связи просто создавал файл. А при восстановлении соединения - удалял его и вовращается на циклический пинг снова..  
 
Посодействуйте, пожалуйста, решению задачи.

Всего записей: 17 | Зарегистр. 29-09-2009 | Отправлено: 08:20 29-09-2009
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NuclearBox
Батником - не знаю, совсем недавно делал такое при помощи .vbs. Только чуть "по-задрюченнее": мне надо, чтобы когда инет "пропадал" запускалась прога на "перезагрузку" роутера . Могу выложить пример, если интересно.

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 08:55 29-09-2009
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно удалить в папке файлы старее 14 дней (с утилиткой forfiles что-то не получилось).
 
Я так полагаю, что проще не выбирать "что старше", а:
взять сегодняшнюю дату , отнять от неё "14"
скопировать куда-то всё что старше "сегодня - 14"
удалить все файлы , а потом вернуть обратно скопированное (удалив временную папку)
 
Если это возможно (?) помогите с батником!

Всего записей: 1358 | Зарегистр. 28-10-2007 | Отправлено: 09:19 29-09-2009
01MDM



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

Цитата:
с утилиткой forfiles что-то не получилось

Что не получилось?

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 09:47 29-09-2009
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Спасибо, что заставил ещё раз всё проверить , я просто поторопился написать!
проблема была в пробелах ;(

Всего записей: 1358 | Зарегистр. 28-10-2007 | Отправлено: 12:07 29-09-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru