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

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

Модерирует : KLASS, IFkO

vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задачи на bat-файлах
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Набор GNU утилит для win32
· Встроенный справочник по командам: hh ntcmds.chm
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
 
Готовые решения и частые вопросы:
· Создание листинга директорий на примере создания плейлиста
· Разименовывание переменных
· Переименовывание файлов по дате создания
· Запуск сетевого подключения
· Запуск bat файлов как сервис
· Пример выполнения команд по результату команды ping
· Использование даты на день раньше чем сегодня
 
Невозможности — что нельзя сделать с помощью командных файлов:
· изменть конфигурацию IP на удаленной машине (без помощи rcmd.exe) [добавил ALEF]
 
 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Старая версия первого сообщения

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 22:58 18-11-2005 | Исправлено: Elroir, 05:50 11-11-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GOODmen
К строчке rar-а, добавь  
Код:
 | find /v "OK"  

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 04:32 17-10-2006
ViSiToR



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

Код:
 
FOR %%c in ( *.rar ) do set Rar=%%c
If NOT exist ..\Ready\%Rar% (move %Rar% ..\Ready\%Rar%) ELSE (
FOR /L %%j in (1,1,10) do set Num=%%j
FOR %%c in ( *.rar ) do If NOT exist ..\Ready\%%~nc%Num%.rar move %%c ..\Ready\%%~nc%Num%.rar
)
 

 
 
Snerov1k
 

Цитата:
если я поставлю NEXT - он уейдет после первого цикла?

В принципе да, я немного изменил код в своём посте, так думаю будет надёжнее.

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 08:43 17-10-2006
Craager



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ViSiToR, спасибо за подсказку, вроде работает. Но тут созрел ещё вопросец, теперь у меня батник выглядит вот так:
 
@echo off
 
regedit /s 1.reg
start /wait dmaster.exe /VERYSILENT /SP-  
taskkill.exe /F /IM dmaster.exe  
taskkill.exe /F /IM iexplore.exe
ping -n 1 localhost > nul
Megaportal.url.url
ping -n 1 localhost > nul
Main-Theme-Lost.mp3
 
Т.е. сначала вносятся данные в реестр без палева, потом скрыто устанавливается Даунлоад Мастер, после установки которого автоматически закрывается окно самого ДМ и ИЕ, затем пауза 1с, запуск ярлыка инета, пауза и запуск MP3-ки...... вопрос в том, как сделать так, чтобы чёрное окно батника убиралось сразу после запуска MP3 !? А то у меня пока плеер не закроешь, окно не уйдёт (((
 
Кайф вообще сделать чтобы всё было скрыто, но с этими прогами не работал ни разу ещё (((

Всего записей: 389 | Зарегистр. 08-06-2006 | Отправлено: 09:23 17-10-2006
Kronix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
to ViSiToR: спасибо за подсказку, и как сам не додумался=)
сделал так:
FOR %%c in ( *.rar ) do (
 if NOT exist ..\Ready\%%c (move %%c ..\Ready\%%c) ELSE (
   FOR /L %%j in (1,1,10) do (
     if NOT exist ..\Ready\%%~nc%%j.rar (If exist %%c ( move %%c ..\Ready\%%~nc%%j.rar))))
)

Всего записей: 107 | Зарегистр. 21-03-2006 | Отправлено: 09:50 17-10-2006
ViSiToR



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

Цитата:
как сделать так, чтобы чёрное окно батника убиралось сразу после запуска MP3 !?

Просто довавь start перед запуском файла, вот так:
 

Код:
@echo off  
 
regedit /s 1.reg  
start /wait dmaster.exe /VERYSILENT /SP-  
taskkill.exe /F /IM dmaster.exe  
taskkill.exe /F /IM iexplore.exe  
ping -n 1 localhost > nul  
Megaportal.url.url  
ping -n 1 localhost > nul  
start Main-Theme-Lost.mp3

 

Цитата:
сделать чтобы всё было скрыто

Скачай программу cmdow, помести её рядом с батником, и в начало батника пропиши следующее:
 

Код:
Title Заголовок окна
cmdow "Заголовок окна" /HID

 
Там где Заголовок окна, естественно можешь прописать любое значение, но чтобы во время запуска батника, окна с таким же заголовком не было.
 
Окно батника мелькнёт на секунду (при запуске), и всё, потом оно скроется.

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 09:58 17-10-2006
Snegov1k



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

Всего записей: 48 | Зарегистр. 12-10-2006 | Отправлено: 10:23 17-10-2006
Craager



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ViSiToR, Мегареспект !!! Спасибо, всё работает как часы !!!
 
А ты случаем не знаешь как поставить тихо (скрыто) Crystal Player !? Какие там ключи надо прописывать )))

Всего записей: 389 | Зарегистр. 08-06-2006 | Отправлено: 10:31 17-10-2006
KapralBel



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

Код:
 Title Заголовок окна
cmdow "Заголовок окна" /HID

 
Еще проще сделать

Код:
CMDow @ /Hid

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:52 17-10-2006
ViSiToR



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

Цитата:
Еще проще сделать

Не знал, я с этой утилитой первый раз сталкиваюсь, просто использовал на основе инструкции с сайта.
 
А этот символ именно этой утилиты ключь, или это общее значение для распознования окон ком. строки?
 
Craager

Цитата:
как поставить тихо (скрыто) Crystal Player !?

 
В шапке есть ссылка на сайт с которой была взята эта утилита, на этом сайте довольно просто описываются примеры использования этой утилиты (правда на английском)...
 
Run a program hidden:-
 

Код:
cmdow /run /hid myprog.exe

 
Вместо myprog.exe пропиши имя (и путь при необходимости) той программы, которую хочешь запустить в скрытом виде.
Если нужно чтобы батник продолжал свою работу не дожидаясь завершения запущенного приложения, то запускать нужно так:
 

Код:
start cmdow /run /hid myprog.exe


----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 11:46 17-10-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ViSiToR
Цитата:
 
CMDow /?
 
The At symbol '@' may be used to refer to this window.

Символ @ - сслылка на текущее окно

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:51 17-10-2006
kazavo4ka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Блин видимо я сегодня туплю... Есть вот такой вопрос - нужно в планировщик заданий прописать скрипт который выполняет следующие задачи:
 
Проверяет наличие определенного файла (обычный txt) в определенной директории, если файл будет с именем допустим error.txt то надо запустить другой скрипт js (его я уже написал ) с двумя параметрами, если с именем good.txt то запускается другой скрипт тоже с двумя параметрами (его тоже написал ).
Заранее спасибо.

Всего записей: 1655 | Зарегистр. 17-02-2006 | Отправлено: 13:47 17-10-2006
Elroir



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

Код:
 
if exist error.txt (скрипт1 пар1 пар2) else (
if exist good.txt (скрипт2 пар1 пар2))
 


Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 13:56 17-10-2006
denis255

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли сотворить следующее.
определить текущий динамический Ip ADSL модема и записать этот ip в файл после допустим строки "Hello "

Всего записей: 424 | Зарегистр. 10-08-2004 | Отправлено: 14:01 17-10-2006
kazavo4ka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Elroir
Спасибо.
 
Обычно я запускал с такими параметрами - <какое-то число> <Набор слов>
Набор слов был с пробелами я их заменял %20 , а как сейчас поступить?

Всего записей: 1655 | Зарегистр. 17-02-2006 | Отправлено: 14:26 17-10-2006
loat



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

Всего записей: 89 | Зарегистр. 24-01-2005 | Отправлено: 16:51 17-10-2006
PlanerX

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

Цитата:
@echo off  
set T_Date=%DATE%  
IF %T_DATE:~0,1%==0 (  
  SET /A T_DAY=%T_DATE:~1,1%) else (  
  SET /A T_DAY=%T_DATE:~0,2%)  
 
IF %T_DATE:~3,1%==0 (  
   SET /A T_MONTH=%T_DATE:~4,1%) else (  
   SET /A T_MONTH=%T_DATE:~3,2%)  
 
SET /A T_YEAR=%T_DATE:~6,4%  
 
set /A T_DAY=%T_DAY%-1  
if %T_DAY%==0 (  
   SET /A T_MONTH=%T_MONTH%-1  
   if %T_MONTH%==0 (  
      set /A T_YEAR=%T_YEAR%-1  
      SET /A T_MONTH=12  
      set /A T_DAY=31)  
      else (  
      if %T_MONTH%==1 (Set /A T_Day=31)  
      if %T_MONTH%==2 (Set /A T_Day=28)  
      if %T_MONTH%==3 (Set /A T_Day=31)  
      if %T_MONTH%==4 (Set /A T_Day=30)  
      if %T_MONTH%==5 (Set /A T_Day=31)  
      if %T_MONTH%==6 (Set /A T_Day=30)  
      if %T_MONTH%==7 (Set /A T_Day=31)  
      if %T_MONTH%==8 (Set /A T_Day=31)  
      if %T_MONTH%==9 (Set /A T_Day=30)  
      if %T_MONTH%==10 (Set /A T_Day=31)  
      if %T_MONTH%==11 (Set /A T_Day=30)  
      if %T_MONTH%==12 (Set /A T_Day=31)  
   )  
)  
     
if %T_MONTH% LSS 10 (if %T_DAY% LSS 10 (echo 0%t_Day%.0%t_Month%.%t_Year%.txt) else echo %t_Day%.0%t_Month%.%t_Year%.txt) else (echo %t_Day%.%t_Month%.%t_Year%.txt)  

 
Спасибо за идею, но почему то в результате выполнения выдает:
Отсутствующий оператор.
-1.17.10.txt
 
и еще вопросик: данный код можно ли использовать для расчета нескольких дней вперед? и что нужно изменить в таком случае?
 Заранее спасибо!

Всего записей: 48 | Зарегистр. 21-09-2004 | Отправлено: 17:00 17-10-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kazavo4ka
Возьми набор слов в кавычки -  

Код:
 
script.js число "параметр с пробелами"
 

 
Добавлено:
denis255
Выложи сюда то, что выдает команда ipconfig

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 17:24 17-10-2006
Yuk



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вроде не сложная задача, но давно я с бат-файлами не связывался, подзабыл. Помогите, если не трудно.
 
Есть bat-файл со строкой:
osql -E -i backup.txt
 
Текстовый файл backup.txt с командами osql:
backup database lims3 to disk='C:\TEMP\lims3.dbk'
go
exit
 
Надо, чтобы в имя бекапа подставлялась дата и время его создания по формату:
lims3_MMDDYYHHMMSS.dbk
 
Как я понимаю, надо делать через создание текстового файла на лету. В общем, помогите, кто может.
 

Всего записей: 1182 | Зарегистр. 02-07-2001 | Отправлено: 19:32 17-10-2006
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yuk
а не проще на T-SQL?
 
declare @dt datetime
select @dt = getdate()
declare @v char(64)
select @v='c:\temp\lims3_'+CAST(DATEPART(month,@dt) as varchar)+CAST(DATEPART(day,@dt) as varchar)+CAST(DATEPART(yy,@dt) as varchar)+  
CAST(DATEPART(hh,@dt) as varchar) + CAST(DATEPART(mi,@dt) as varchar)+ CAST(DATEPART(s,@dt) as varchar)
backup database northwind to disk=@v
go

Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 20:11 17-10-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yuk
Что выдают команды "echo %date%" и "echo %time%" ?

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:41 17-10-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

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах
vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru