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

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

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

Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 109 110 111 112 113 114 115 116 117 118

   

KLASS



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

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

Всего записей: 11426 | Зарегистр. 12-10-2001 | Отправлено: 04:28 24-09-2002 | Исправлено: Elroir, 19:35 11-09-2007
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
а теперь выдает в таком формате
file ╣ !A! domain_watcher_1_3.exe
file ╣ !A! embed.exe
file ╣ !A! hookanlz.exe
file ╣ !A! KodosFreeVideoPack.exe
file ╣ !A! Oboznachenia.exe
file ╣ !A! Setup.exe
file ╣ !A! TRACE.exe
file ╣ !A! YandexDesktopSetup.exe

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 07:54 29-11-2006
Elroir



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

Код:
 
@echo off  
setlocal enableextensions enabledelayedexpansion  
Set A=0
for %%f in (*.exe) do (  
 Set /A A=!A!+1
  Echo file !A! %%f )  
echo Press any key...  
Pause >nul
 

Не забудь удалить пробелы в конце строк.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 11:47 29-11-2006 | Исправлено: Elroir, 12:00 29-11-2006
ATZATZ



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем! Как нибудь батником можно скопировать   с одного компа в расшареную папку другого ?

Всего записей: 38 | Зарегистр. 14-09-2006 | Отправлено: 14:01 29-11-2006
tolyn77



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

Всего записей: 1498 | Зарегистр. 07-09-2004 | Отправлено: 14:07 29-11-2006
ATZATZ



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sorrry,Совсем обленилсЯ !Нашел на предыдущей странице !

Всего записей: 38 | Зарегистр. 14-09-2006 | Отправлено: 14:14 29-11-2006
adminTerror

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

Цитата:
Da_Neil
 
 
 
Silver Member Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
--------------------------------------------------------------------------------
Нужно перезагрузить ADSL-модем из командной строки. У него это делает через телнет. Соответственно, как автоматизировать заход через телнет и выдачу ему reboot?  
 

я непонел всей фишки если у меня модема нет)

Всего записей: 4 | Зарегистр. 26-11-2006 | Отправлено: 00:05 30-11-2006
MIHN

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кто знает почему в
 
for %%i in (%PEUtilsPath%\auto4*.cmd) do call "%%i"
if not %ERROR_LEVEL%==0 goto error_found
 
у меня вначале вызывается  
auto49_zipshortcuts.cmd и по убывающей до auto40_sortmenu.cmd  
а не наоборот . заранее спасибо

Всего записей: 35 | Зарегистр. 24-04-2006 | Отправлено: 08:25 05-12-2006
Crashoverwide

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
День добрый!
Возможно, кто знает как можно сделать следующее:
1) есть файл на диске С, название его, допустим, fail.txt
2) нужно сравнить дату создания этого файла и сегодняшнее число
3) если дата создания файла меньше сегодняшнего числа, тогда отправляем письмо на ящик mail@mail.ru
 
Попробовал сделать следующее:
1) создаем батник Check.bat, в нем пишем:
 
@echo off  
setlocal enabledelayedexpansion  
FOR %%a IN (C:\fail.txt) DO (  
set tmp=%%~ta  
set tmp=!tmp:~0,13!  
if "!tmp!" LSS "%DATE%" (call mail.bat)  
)
 
2) создаем батник mail.bat, в нем пишем:
 
C:\postie\postie.exe -host:xxx.xxx.x.x -s:"ERROR!!!" -to:mail@mail.ru -from:error@mail.ru -file:C:\Warning.log -log:log_mail.txt -v
 
3) в файле Warning.log одно слово - "ОШИБКА" (без кавычек)
 
4) отправка письма осуществляется через программу "postie"
5) оба батника находятся на диске С
6) сам батник mail.bat работает на ура... письмо отправляет... но... если запустить Check.bat, то появляется ошибка "Missing from address"
 
Надеюсь на вашу помощь...

Всего записей: 17 | Зарегистр. 05-06-2005 | Отправлено: 07:29 06-12-2006 | Исправлено: Crashoverwide, 07:38 06-12-2006
Kirillhome



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Crashoverwide
Попробуй убрать восклицательные знаки в mail.bat
Ну и в Check.bat я бы заменил LSS на NEQ

Всего записей: 426 | Зарегистр. 23-11-2004 | Отправлено: 09:07 06-12-2006 | Исправлено: Kirillhome, 09:10 06-12-2006
Crashoverwide

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
to Kirillhome:
Огромное спасибо за столь быстрый ответ! Действительно все дело было в восклицательных знаках... Еще раз спасибо!!!

Всего записей: 17 | Зарегистр. 05-06-2005 | Отправлено: 09:38 06-12-2006
greay

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

Всего записей: 7 | Зарегистр. 17-05-2004 | Отправлено: 00:14 07-12-2006
el mentiroso



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопрос:
как заставить echo вставлять перевод строки ДО передаваемой строки?
т.е. чтобы команда

Код:
echo lh %SystemRoot%\system32\kb16.com ru >> %SystemRoot%\system32\autoexec.nt

гарантированно начиналась с новой строки, а не дописывалась в конец предыдущей

Всего записей: 64 | Зарегистр. 05-12-2006 | Отправлено: 15:12 07-12-2006
KapralBel



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

Код:
Echo. >>File
Echo Text >>File

Причем 1-я строка Echo. - не должно быть пробела между точкой и Echo

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:22 07-12-2006
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greay
по-моему проще воспользоваться Total Commander, зайти в каталог и нажать Ctrl+B, в результате файлы из всех вложенных каталогов будут представлены в одной панели, без дерева, ну а уж потом взять и скопировать/переместить эти файлы во вторую панель, где предварительно настроен каталог-приемник. сорри за оффтопик.

Всего записей: 2863 | Зарегистр. 31-10-2003 | Отправлено: 17:21 07-12-2006
el mentiroso



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

Всего записей: 64 | Зарегистр. 05-12-2006 | Отправлено: 17:33 07-12-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greay
А если не пользоваться Total Commander-ом, тогда так:

Код:
 
@echo off
setlocal
set source=C:\
set dest=I:\temp\
for /r %source% %%a in (.) do (
for %%b in ("%%a"\*.*) do call :cpy "%%b"
)
goto :EOF
 
:cpy
set name=%~nx1
:try_again
if exist %dest%%name% (
set name="%~n1_%random%%~x1"
goto try_again
)
copy %1 %dest%%name%>nul
 

Вместо source=C:\, ставишь source=твоя директория с папками\
Вместо dest=I:\temp\, ставишь dest=директория куда копировать\

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 18:10 07-12-2006
InSe0F



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет)  
Хотелось бы получить ответы на пару вопросов.
Вопрос первый
Есть такой батник, лежащий в папке с прогой vcl

@echo off
route delete 224.0.0.0
"vlc.exe" "IPTV_named_cach5k.m3u"
exit

После запуска батника через ярлык на раб.столе cmd не закрывается?
вроде exit написана-то?
 
Вопрос второй
Возможно ли написать такой бат что бы устанавливал VPN подключение (уже созданное и установленное как стандартное)
 
Заранее спасибо :)

Всего записей: 533 | Зарегистр. 13-03-2006 | Отправлено: 05:15 08-12-2006 | Исправлено: InSe0F, 05:17 08-12-2006
d24pWorld

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите написать .bat чтоб шла проверка и-нет соединения... если пинг на определенный сайт (ip) проходит то выполняется одна команда если нет то другая
... при этом проверка должна проходитьчерез некоторые промежутки времени (допустим каждые 5 мин)

Всего записей: 20 | Зарегистр. 23-11-2006 | Отправлено: 13:17 12-12-2006 | Исправлено: d24pWorld, 13:51 12-12-2006
Elroir



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

Код:
 
@echo off
:again
ping -n 1 123.123.123.123 | find "TTL="
if %errorlevel%==0 ( echo do_if_there_is_a_connection
) else ( echo do_if_there_is_no_connection )
sleep 300
goto again
 

Вместо echo do_if_there_is_a_connection, ставишь команду, которую надо запустить если есть соединение, а вместо echo do_if_there_is_no_connection, ту которую надо запустить если его нет. Утилита sleep.exe входит в состав Windows Resource Kit, который можно свободно скачать с Microsoft-а

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 15:03 12-12-2006
Accessor



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
d24pWorld
@echo off
:start
echo Trying ping ...
ping -n 1 192.168.1.1>nul
if errorlevel 1 (echo Ping Failed) else (echo Ping Successful)
ping -n 300 -w 1000 127.0.0.1 >nul
goto start
 
единственная оговорка - время между пингами будет не точно триста секунд, а чуть больше или меньше, в зависимости от того, как быстро выполнился основной пинг.

Всего записей: 2863 | Зарегистр. 31-10-2003 | Отправлено: 17:14 12-12-2006
   

Страницы: 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 109 110 111 112 113 114 115 116 117 118

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru