Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Закрытая тема
Настройки темы
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Новый участник


Сообщения: 23
Благодарности: 3

Профиль | Отправить PM | Цитировать


Внимание!


В связи с созданием отдельного форума по скриптовым языкам, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема.

Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь в написании батника". Это и так понятно Заголовок темы должен быть осмысленным.





Исходный вопрос участника
Всех приветствую.
Задача следующая: смотрим в в каталог (например d:\dir\*.*) и если в нем сущетвуют файлы возраст которых более 40 дней, то отправляем email на указанный адрес.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:17, 01-11-2005

 

Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата Rostlv:
Нужно написать код для проверки большого количества файлов в разных директориях, и в случае отсутствия хотя-бы одного, вывести окошко с текстом об отсутствии файлов. Главное, чтобы эту команду не перечислять после указания каждого файла, она одинакова для всех отсутствующих файлов, должно быть красиво. »
Попробуйте так:
Код: Выделить весь код
@Echo off
For %%I In (
 "Директория\файл.exe"
 "Директория\файл2.exe"
 "Директория\файл3.exe"
 "Директория\файл4.exe"
 "Директория\файл5.exe"
 "Директория 1\файл.exe"
 "Директория 1\файл2.exe"
 "Директория 1\файл3.exe"
 "Директория 1\файл4.exe"
 "Директория 1\файл5.exe"
) Do If Not Exist "%%~I" msg * /w /TIME:2 File '%%I' is absent.
exit
Цитата Rostlv:
If Not Exist %Директория%\файл.exe »
Не делайте переменных содержащих кирилицу.

Если у Вас в каждой директории ищутся одни и те же файлы, то можно сделать еще короче применив вложенный цикл.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:03, 29-11-2008 | #501



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


NBA
Цитата:
нужно в указаное время - с 9AM до 12 AM а то он будет бесконечно так лобудеть »
тогда без планировщика не обойтись

Rostlv
Цитата:
1. Нужно написать код для проверки большого количества файлов в разных директориях »
вроде уже спрашивал, чем не устраивает п.2 ?
Цитата:
2. Как с помощью CMD создать реально работающий прогрессбар? »
Progress Meter by Roy Holt, пример использования:
Код: Выделить весь код
@ECHO OFF

CALL :ProgressMeter 0
For %%i In (10 20 30 40 50 60 70 80 90 100) Do (
	Ping -n 2 127.0.0.1 >Nul
	CALL :ProgressMeter %%i
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:56, 01-12-2008 | #502


Старожил


Сообщения: 222
Благодарности: 19

Профиль | Отправить PM | Цитировать


Ещё 2 вопроса:
1. Какой ключ применить для старта и отображения текстового документа (.txt, .rtf, .doc) в режиме "поверх всех окон"?
2. Можно ли с помощью CMD проверить свободное место на системном и (или) загрузочном дисках, и в случае нехватки последнего выйти из CMD-файла?
Спасибо.

Отправлено: 17:38, 02-12-2008 | #503


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27,
Цитата amel27:
Progress Meter by Roy Holt, пример использования:»
Никогда бы не подумал что в батнике можно это сделать .
Пример с отображением в самой консоли...

Код: Выделить весь код
@ECHO OFF

CALL :ProgressMeter 0

For %%i In (10 20 30 40 50 60 70 80 90 100) Do (
	Ping -n 2 LocalHost > Nul
	CALL :ProgressMeter %%i
)

Ping -n 3 LocalHost > Nul

:: ******************************************************************
:ProgressMeter
:: 2007_01_10 by rholt
:: core2quad@rogers.com
:: This subroutine displays a progress meter in the titlebar of
:: the current CMD shell window.
::
:: Input: %1 must contain the current progress (0-100)
:: Return: None
:: ******************************************************************
:: Calculate the number of vertical bars then spaces based on the percentage value passed
SETLOCAL ENABLEDELAYEDEXPANSION

SET ProgressChar=I
SET ProgressPercent=%1
SET /A NumBars=%ProgressPercent%/2
SET /A NumSpaces=50-%NumBars%

:: Clear the progress meter image
SET Meter=
CLS

COLOR 0A

:: Build the meter image using vertical bars followed by trailing spaces
:: Note there is a trailing space at the end of the second line below
FOR /L %%A IN (%NumBars%,-1,1) DO SET Meter=!Meter!%ProgressChar%
FOR /L %%A IN (%NumSpaces%,-1,1) DO SET Meter=!Meter! 

:: Display the progress meter in the title bar and return to the main program
TITLE Progress: [%Meter%] %ProgressPercent%%%...
ECHO Progress: [%Meter%] %ProgressPercent%%%...

ENDLOCAL

GOTO :EOF


Rostlv,
Цитата:
Какой ключ применить для старта и отображения текстового документа (.txt, .rtf, .doc) в режиме "поверх всех окон"?
Можно так:

Код: Выделить весь код
Start "SomFile.txt" && Start Cmdow "Title" /Top

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:33, 03-12-2008 | #504


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Creat0R,
Цитата:
Пример с отображением в самой консоли
в твоем примере зачищается хистори... давно хотел такое же, но без затирания, вроде нашел:
Код: Выделить весь код
@Echo Off
Setlocal EnableDelayedExpansion

Echo. Процесс запущен
For /L %%i In (1,1,100) Do (
  Call :SHOW %%i Тестирование...
   Ping -n 1 127.0.0.1 >Nul
)
Echo.
Echo.
Echo. Процесс завершен
Echo.
Pause

Exit

:SHOW
Set $COLS=70

If Not Defined $P (
  Set /A $P=0
  Set $X=[
  For /L %%a In (1,1,%$COLS%) Do Set $X=!$X!.
  Set $X=!$X!]
  For /L %%a In (1,1,%$COLS%) Do Set $X=!$X!
  Set $X=!$X!
  Echo.
  <Nul Set /P $X=!$X!
)
Set $X=
Set /A $D = (%$COLS%*%1)/100 - (%$COLS%*%$P%)/100
If %$D% GTR 0 For /L %%a In (1,1,%$D%) Do Set $X=!$X!#
If %1 EQU 100 Set $X=!$X!]
<Nul Set /P $X=!$X!
Title %2%1%% Done
Set $P=%1

GoTo :EOF
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:57, 03-12-2008 | #505


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27,
Цитата amel27:
давно хотел такое же, но без затирания, вроде нашел »
Привосходно! я пробовал, но очень быстро опустил руки, видимо думал что нереально .

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 00:26, 04-12-2008 | #506

D_Master


Сообщения: n/a

Профиль | Цитировать


Подскажите плиз, как можно реализовать небольшой мониторинг времени:
к примеру, есть определенный промежуток времени - с 23:00 до 09:00. Надо сделать так, чтобы в батник проверял время, и, если текущее время соответствует заданному промежутку, то выполняет какие-либо действия.
Всё, на что хватило моих познаний, это на мониторинг определенного времени (не промежутка):
Код: Выделить весь код
@echo off
:monitor
set stoptime=23:00
for /F %%t in ('time/T') do set T=%%t
if %T%==%stoptime% (
call :stop 
) else (
call :monitor

:stop
start stop.exe
exit

Отправлено: 23:09, 04-12-2008 | #507


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


D_Master,
Цитата D_Master:
Надо сделать так, чтобы в батник проверял время, и, если текущее время соответствует заданному промежутку, то выполняет какие-либо действия. »
Примерно так:

Код: Выделить весь код
@Echo Off

Set StopTime1=23:00
Set StopTime2=09:00

:Monitor
For /F %%i In ('Time/T') Do Set CurrentTime=%%i

If %CurrentTime% GTR %StopTime2% If %CurrentTime% GEQ %StopTime1% Call :Stop
If %CurrentTime% LSS %StopTime1% If %CurrentTime% LEQ %StopTime2% Call :Stop

Ping -n 2 LocalHost > Nul
GoTo :Monitor

:Stop
Start Stop.exe
Exit

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:51, 05-12-2008 | #508

D_Master


Сообщения: n/a

Профиль | Цитировать


Creat0R, спасибо, всё работает!

Отправлено: 02:34, 05-12-2008 | #509


Аватара для censored

Пользователь


Сообщения: 70
Благодарности: 0

Профиль | Отправить PM | Цитировать


echo Off
cls
echo Нажмите:
echo "1" , если nForce2
echo "2" , если nForce4
echo "3" , если другое.
Set /P Ch=Сделайте Ваш выбор:
If "%Ch%"=="1"
Echo Устанавливаем драйвера для NForce2 ....
start \Program files\ASV\nforce2\setup.exe
goto :1
If "%Ch%"=="2"
Echo Устанавливаем драйвера для nForce4.....
start \Program Files\ASV\nForce4\setup.exe
goto :1
If "%Ch%"=="3"
goto :1

Подскажите где ошибка.

Отправлено: 16:41, 08-12-2008 | #510



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] VBS/WSH. Сортировка файлов по дате. rancid Скриптовые языки администрирования Windows 3 23-07-2009 06:38
[решено] Как с помощью CMD(BAT) запустить запароленный sfx архив! ofcoss Автоматическая установка приложений 7 10-07-2009 00:41
CMD/BAT - [решено] Нужна помощь в создании bat-ника для распаковки и переименования файлов/папок Nun-Nun Скриптовые языки администрирования Windows 6 14-05-2009 15:45
Нужна снова ваша помощь в написании интересного скрипта Magnus Вебмастеру 2 09-06-2005 20:26
Нужна помощь в написании скрипта Magnus Вебмастеру 7 06-05-2005 10:53




 
Переход