Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах

Автор: Roman4321
Дата сообщения: 29.08.2006 09:51
подскажите что нужно прописать в .bat файле, чтобы он запускался автоматически на сервере раз в день, допустим в 13:00, Система Win 2000. Батник производит копирование файлов в сети с одного компьютера на другой.
Автор: Kirillhome
Дата сообщения: 29.08.2006 10:00
Roman4321
В bat-файле написать всё, что Вам нужно, а сам bat-файл - запускать планировщиком.
Автор: KapralBel
Дата сообщения: 29.08.2006 10:07
Roman4321
Запускай планировщиком, тем более во всех системах Windows он присутсвует

Добавлено:
RussianNeuroMancer
http://rapidshare.de/files/31179108/sleep.exe
Автор: RussianNeuroMancer
Дата сообщения: 29.08.2006 14:36
KapralBel
Большое спасибо! Благополучно скачал.
Автор: GRiMka
Дата сообщения: 30.08.2006 09:17
Прошу прощения если уже пробегало..
Помогите пожалуйста с батником!

Задача:
В папке "D:\BACKUP" и во всех ее подпапках, автоматом удалять все файлы которые старше 5-и дней.

Заранее благодарен за ответ!
Автор: Serge2005
Дата сообщения: 30.08.2006 09:20
http://forum.ru-board.com/topic.cgi?forum=62&topic=6156&start=1340#7
Пожалуйтса, очень нужно. Чем или как реально осуществить?
Автор: GarEx
Дата сообщения: 30.08.2006 17:59
Здравствуйте!

Подскажите, плз, как осуществить следующее: в текстовом файле Test.log в первой строке записано "123456", команда в батнике For /f %%a in (Test.log) do set path=%%a, и переменной path присваивается значение 123456, а если нужно передать параметр из текстового файла не с первой позиции первой строки, а например из 6 строки с 13 позиции? И наоборот, например, test.bat > test.log в тектовый файл записывается значение (результат выполнения) и как сделать, чтобы он записался не в первую строку и с первой позиции, а скажем в 3 строку с десятой позиции (столбце)?
Автор: Refugee
Дата сообщения: 30.08.2006 19:06
Serge2005
devcon, детали поищи по топику
Автор: Serge2005
Дата сообщения: 30.08.2006 20:23
Refugee
Поискал... http://support.microsoft.com/?kbid=311272 Но я так и непонял, как МАССОВО отрубить какие-нибудь устройсва, а конкретно - все, относящиеся к каким-либо сетям....(bluetooth, irda, net, wi-fi....)
Автор: Kirillhome
Дата сообщения: 30.08.2006 20:29
GRiMka
[more=Вот здесь]

Код:
@Echo Off
setlocal enabledelayedexpansion
set /A Day_Min=30
Set PATH_POISK="D:\TEMP"

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%-%Day_Min%

:_START

if !T_DAY! LEQ 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+!T_DAY!) else (
if !T_MONTH!==1 (Set /A T_Day=31+!T_DAY!)
if !T_MONTH!==2 (
SET /A INT_YEAR=!T_YEAR!/4
SET /A NEW_YEAR=!INT_YEAR!*4
IF !NEW_YEAR!==!T_YEAR! (Set /A T_Day=29+!T_DAY!) ELSE (Set /A T_Day=28+!T_DAY!))
if !T_MONTH!==3 (Set /A T_Day=31+!T_DAY!)
if !T_MONTH!==4 (Set /A T_Day=30+!T_DAY!)
if !T_MONTH!==5 (Set /A T_Day=31+!T_DAY!)
if !T_MONTH!==6 (Set /A T_Day=30+!T_DAY!)
if !T_MONTH!==7 (Set /A T_Day=31+!T_DAY!)
if !T_MONTH!==8 (Set /A T_Day=31+!T_DAY!)
if !T_MONTH!==9 (Set /A T_Day=30+!T_DAY!)
if !T_MONTH!==10 (Set /A T_Day=31+!T_DAY!)
if !T_MONTH!==11 (Set /A T_Day=30+!T_DAY!)
if !T_MONTH!==12 (Set /A T_Day=31+!T_DAY!) ) )

if !T_DAY! LSS 1 GOTO _Start

rem echo %T_DAY% %T_MONTH% %T_YEAR%
FOR /R %PATH_POISK% %%a IN (*.*) DO @Call :MY_DEL "%%a" %%~ta
GoTo :EOF

:MY_DEL
SET F_DATE=%2
set /A F_YEAR=%F_DATE:~6,4%

IF %F_DATE:~0,1%==0 (
SET /A F_DAY=%F_DATE:~1,1%) else (
SET /A F_DAY=%F_DATE:~0,2%)

IF %F_DATE:~3,1%==0 (
SET /A F_MONTH=%F_DATE:~4,1%) else (
SET /A F_MONTH=%F_DATE:~3,2%)

set /A fl_udal=0
if !F_YEAR! LSS !T_YEAR! (set /A fl_udal=1) else (
IF !F_YEAR!==!T_YEAR! (
IF !F_MONTH! LSS !T_MONTH! (set /A fl_udal=1) else (
IF !F_MONTH!==!T_MONTH! (IF !F_DAY! LEQ !T_DAY! (set /A fl_udal=1)))))


if !fl_udal!==1 (del /q %1)

GoTo :EOF
Автор: Refugee
Дата сообщения: 30.08.2006 21:18
Serge2005
devcon'ом можно по одному вырубать, а искать - devcon listclass net infrared bluetooth
Автор: VladimirKvach
Дата сообщения: 31.08.2006 04:08
Добрый день!

Подскажите как можно из командной строки включить/отключить исключение стандартного виндового (xp sp2) фаервола

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

PS контора маленькая, ису или что-то другое серьезное туда натягивать смысла нет.
Автор: sank
Дата сообщения: 31.08.2006 06:42
А что еще можно интересного сделать?
Автор: tolyn77
Дата сообщения: 31.08.2006 07:08
подскажите у меня на одной машине (xp sp2) не выполняется бат скрипт хотя на все остальных всеработает, скрипт один и тотже. Пишет, что команда задана не правильно или что то в этом роде, что за беда как сней бороться?
заранее благодарен
Автор: Sigmat
Дата сообщения: 31.08.2006 07:28
Как сделать с помощью батника, что бы при выключении винды удалалась история аси (или просто файлов из опред. деректории).
Нужен код и как это сделать!
Очень срочно, на работе ЧП!
Автор: isem
Дата сообщения: 31.08.2006 08:10
Sigmat

В планировщик вставляешь .ват который удаляет файлы из директории например

del C:\yourdirectory\*.*

Будут удалены все файлы с директории C:\yourdirectory\
Я вместо планировщика использую Second Copy 2000
Автор: Kirillhome
Дата сообщения: 31.08.2006 11:41
tolyn77
Извините, но, как говорится - телепаты в отпуске
Скажите хотя бы - какая ошибка, а еще лучше (правильнее) - bat-файл "в студию".
Автор: xuiatar
Дата сообщения: 31.08.2006 11:45
Подскажите каким образом с помощью bat-файлов можно создавать папки с названием текущих лет\месяцев? к примеру есть папка 2006, в ней Январь, Февраль и т.д.
Заранее спасибо
Автор: Kirillhome
Дата сообщения: 31.08.2006 11:50
VladimirKvach
А не проще по получении определённого письма - стартовать Radmin, а по получении другого - останавливать???
Автор: tolyn77
Дата сообщения: 31.08.2006 13:51
2 Kirillhome

любой простейший хоть
echo Hello
Автор: KapralBel
Дата сообщения: 31.08.2006 14:00
tolyn77
Запускаешь с командной строки или через планировщик
Вирусов нет?

Добавлено:
Кстати на какую команду ругается
Сделай перенаправление в файл
Автор: ViSiToR
Дата сообщения: 31.08.2006 16:33
Sigmat

Цитата:
Как сделать с помощью батника, что бы при выключении винды удалалась история аси (или просто файлов из опред. деректории).


Нужно кинуть батник в автозагрузку, а сам батник должен быть примерно такой:


Код: del /q путь_к_файлам_истории_аси\*.*
Автор: Refugee
Дата сообщения: 31.08.2006 16:46
VladimirKvach
//enable
netsh firewall set portopening protocol = TCP port = 4899 name = Radmin interface = LAN1
//disable
netsh firewall set portopening protocol = TCP port = 4899 name = Radmin interface = LAN1 mode=disable
Автор: VladimirKvach
Дата сообщения: 01.09.2006 06:49
Refugee

Большое спасибо за совет, но мне нужно было чуть-чуть другое:

//enable
netsh firewall set portopening protocol=TCP port=4899 scope=ALL
//disable
netsh firewall set portopening protocol=TCP port=4899 scope=SUBNET

То есть изнутри то он пусть всегда открыт, закрывать надо только наружу
Автор: GarEx
Дата сообщения: 01.09.2006 11:10
Здравствуйте.

Подскажите, как отрезать часть значения переменной? Переменная I имеет значение 169.254.0.5 Надо убрать последнюю цифру (до последней точки), причем ip-адрес может быть и 10.0.0.10 и 192.168.105.200.
Чтобы осталось 169.254.0
Автор: KapralBel
Дата сообщения: 01.09.2006 11:18
GarEx

Код: @Echo Off
Set i=191.192.193.194
For /F "Delims=. tokens=1-4" %%a In ('Echo %i%') Do Set i_New=%%a.%%b.%%c
Echo i=%i_New%
Автор: GarEx
Дата сообщения: 01.09.2006 11:24
Отлично!!!!!
Автор: xuiatar
Дата сообщения: 01.09.2006 12:36
порылся по поводу моего поста выше на первых страницах - нашел переменную %date:~3,2% которая означает месяц в формате MM, а теперь преобразовать бы её в текстовый формат соответствующий названию месяца........
наверное должна получиться конструкция вида:
если %date:~3,2% равно 01, то mkdir Январь
если %date:~3,2% равно 02, то mkdir Февраль....
осталось поразмыслить каким образом это реализовать в cmd-файле........
Автор: Kirillhome
Дата сообщения: 01.09.2006 13:09
xuiatar

Код:
@echo off
set T_Date=%DATE%
IF %T_DATE:~3,1%==0 (
SET /A T_MONTH=%T_DATE:~4,1%) else (
SET /A T_MONTH=%T_DATE:~3,2%)
if %T_MONTH%==1 (mkdir "Январь")
if %T_MONTH%==2 (mkdir "Февраль")
if %T_MONTH%==3 (mkdir "Март")
if %T_MONTH%==4 (mkdir "Апрель")
if %T_MONTH%==5 (mkdir "Май")
if %T_MONTH%==6 (mkdir "Июнь")
if %T_MONTH%==7 (mkdir "Июль")
if %T_MONTH%==8 (mkdir "Август")
if %T_MONTH%==9 (mkdir "Сентябрь")
if %T_MONTH%==10 (mkdir "Октябрь")
if %T_MONTH%==11 (mkdir "Ноябрь")
if %T_MONTH%==12 (mkdir "Декабрь")
Автор: xuiatar
Дата сообщения: 01.09.2006 13:24
Kirillhome

у меня получилось так :

@echo off
rem синхронизируем часы с контроллером домена
net time \\deep /set /y
rem ПРИРАВНИВАЕМ ЧИСЛО МЕСЯЦА К ЕГО НАЗВАНИЮ
if %date:~3,2% EQu 01 mkdir January
if %date:~3,2% EQu 02 mkdir February
if %date:~3,2% EQu 03 mkdir March
if %date:~3,2% EQu 04 mkdir April
if %date:~3,2% EQu 05 mkdir May
if %date:~3,2% EQu 06 mkdir June
if %date:~3,2% EQu 07 mkdir July
if %date:~3,2% EQu 08 mkdir August
if %date:~3,2% EQu 09 mkdir September
if %date:~3,2% EQu 10 mkdir October
if %date:~3,2% EQu 11 mkdir November
if %date:~3,2% EQu 12 mkdir December


если имена месяцев писать по русски то папка получается кракозябрами
пока не понял как лечить

Добавлено:
Kirillhome
Возможно это изза того что в блокноте я его создаю в ANSI кодировке а cmd его обрабатывает в ASCII.......

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Вернуть библиотеку АТМ (поддержка шрифтов Type 1)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.