SoftoRooM LifeRooM Whois RSS GZip WAP Поиск Правила Помощь Disclaimer
Твой софтовый форумТвой софтовый форумТвой софтовый форумТвой софтовый форум

Здравствуйте Гость ( Вход | Регистрация )

Батники


 
post 28.06.2007 - 23:20
Отправлено #1
ENOTik_18654



Опытный юзверь
**

Профиль
Группа: Пользователи
Сообщений: 102
Регистрация: 7.02.2007
Пользователь №: 329.555


Респектов: 7
-----X----


Предупреждений:   0


Предлагаю открыть тему создания разичный bat-файлов aka быстрого выполнения рутинных действий на компьютере, таких как содание папок с заданным именеи и резервное копирование туда нужой информации, сканирование папок с музыкой и создание плейлистов.

CODE
rem Создание папки с заданным именем
set /p FolderName=Введите имя папки:
echo %FolderName%
pause
md %FolderName%
echo Everything Done!


А это пример моего файла, которым я пользуюсь для создания резервных копий базы данных антивируса:

CODE
@echo off
title Резервное копирование

set archdir=E:\Distrib\BACKUP\Avast
set backupLST=E:\Distrib\Создание_backup

echo Идет остановка антивируса
net stop "avast! Antivirus"
net stop "aswUpdSv"
net stop "avast! Mail Scanner"
net stop "avast! Web Scanner"
pause

echo Идет архивация антивирусной базы данных программы Avast! Antivirus...

"%PROGRAMFILES%\WinRar\rar" a -ag+DD-MMM-YYYY -ilog:%archdir%\error.log -m5 -dh -t -idc  E:\Distrib\BACKUP\Avast\ @backup.lst

echo ************************************ >> %archdir%\backup.log
date /t >> %archdir%\backup.log
time /t >> %archdir%\backup.log
echo OK! >> %archdir%\backup.log
pause

net start "avast! Antivirus"
net start "aswUpdSv"
net start "avast! Mail Scanner"
net start "avast! Web Scanner"
rem Запуск иконки в трее
cmd /C "%PROGRAMFILES%\Avast4\ashDisp.exe"
echo Теперь окно можно закрыть :-) ...
User is offlineProfile CardPM
Go to the top of the pageGo to the end of the page
+Quote Post

5 Страницы  1 2 3 > »  
Reply to this topicStart new topicStart Poll
Ответов(1 - 9)
 
post 29.06.2007 - 6:19
Отправлено #2
Equilibria



профи!
Group Icon

Профиль
Группа: Наши Люди
Сообщений: 676
Регистрация: 11.09.2005
Пользователь №: 43.464


Респектов: 180
-----X----




QUOTE
Предлагаю открыть тему создания разичный bat-файлов aka быстрого выполнения рутинных действий на компьютере
Поддерживаю, и так как хочу сама научиться создавать нормальные батники (уже делала, но простенькие), предлагаю в первую очередь поместить в тему список всех (или всех основных) команд с пояснениями. Искала такой полный список, но пока не нашла.
User is offlineProfile CardPM
Go to the top of the pageGo to the end of the page
+Quote Post

 
post 29.06.2007 - 8:09
Отправлено #3
yah



профи!
[SoftoRooMTeaM] Group Icon

Профиль
Группа: Модераторы
Сообщений: 1.773
Регистрация: 27.01.2006
Из: рнд
Пользователь №: 500


Респектов: 231
-----XX---




QUOTE(Equilibria @ 29.06.2007 - 6:16)
Искала такой полный список, но пока не нашла.
*


Заходишь в справку в винде и ищешь "Справочник по параметрам командной строки" ,)
User is offlineProfile CardPM
Go to the top of the pageGo to the end of the page
+Quote Post

 
post 29.06.2007 - 13:49
Отправлено #4
_Dimas_



Бывалый
*

Профиль
Группа: Пользователи
Сообщений: 29
Регистрация: 29.11.2006
Из: г. Пермь
Пользователь №: 273.060


Респектов: 4
-----X----


Предупреждений:  


Подерживаю, а то и так мало народу кто командами умеет работать, так ведь и сам иной раз вспоминаешь как это делается
CODE

@echo off
rem Копирование данных из онной папки в другую
rem Запуск BAT-File.cmd "Папка источник" "Папка приемник"

rem Удаление источника, если есть
del /F /S /Q %2 >>nul
rd /S /Q %2 >>nul
rem Создаем источник заново
md %2 >>nul
rem Копируем из источника в приемник
xCopy %1 %2 /S /E /C /I /Q /H /R >>nul
echo Копирование завершено
pause




Добавлено:

Массовая отсылка сообщений

SendPing.cmd
CODE

@echo off
ping.exe %1 -n 1 -w 500 >>nul
if ERRORLEVEL 1 goto :OFF
net send %1 %2
goto :EOF
:OFF
echo Компьютер %1 выключен


Send.cmd
CODE

@call SendPing.cmd Comp1 %1
@call SendPing.cmd Comp2 %1
@call SendPing.cmd Comp3 %1
@call SendPing.cmd Comp4 %1
@call SendPing.cmd Comp5 %1
pause


Запускаю так
Send "Текст сообщения"

Сообщение отредактировал _Dimas_ - 29.06.2007 - 13:47
User is offlineProfile CardPM
Go to the top of the pageGo to the end of the page
+Quote Post

 
post 30.06.2007 - 23:37
Отправлено #5
ENOTik_18654



Опытный юзверь
**

Профиль
Группа: Пользователи
Сообщений: 102
Регистрация: 7.02.2007
Пользователь №: 329.555


Респектов: 7
-----X----


Предупреждений:   0


QUOTE
предлагаю в первую очередь поместить в тему список всех (или всех основных) команд с пояснениями. Искала такой полный список, но пока не нашла.


Ну, для начала можно почитать вот это пуск > выполнить > %windir%\help\ntcmds.chm. Это, можно сказать основа.
Очень часто использую вот эту команду вместо монструозного и неповоротливого планировщика:
QUOTE
help AT
. "AT" - rоманда AT предназначена для запуска команд и программ в указанное время и по определенным дням :-).

Вывод текущей даты:
CODE
echo %date%


ЗЫ Вся красота программирования в простоте команд :-)

Добавлено:

Создание треугальника:

CODE
@echo off
set t1=a
set t2=a
echo %t1%
:again
set t1=%t1%%t2%
echo %t1%
goto again
User is offlineProfile CardPM
Go to the top of the pageGo to the end of the page
+Quote Post

 
post 30.06.2007 - 23:47
Отправлено #6
ENOTik_18654



Опытный юзверь
**

Профиль
Группа: Пользователи
Сообщений: 102
Регистрация: 7.02.2007
Пользователь №: 329.555


Респектов: 7
-----X----


Предупреждений:   0


Ну, а это самое серьезное wink.gif
Используется для создания бекапов для mssql сервера.
Надеюсь кому-нибудь пригодмтся :-)

CODE
@echo off
rem Важно !!! Кодировка DOS !!!
rem ************************************************
rem * Backup.cmd - архивирование базы                             *
rem ************************************************

set Database=%1
set Login=%2
set Password=%3

if '%Database%'=='' goto :Usage
if '%Database%'=='/?' goto :Usage

rem !!!! В случае длинных имен - указывать БЕЗ КАВЫЧЕК !!!

rem Путь к каталогу бакапов на сервере
set Backup=D:\MSSQL\BACKUP
rem Microsoft SQL Server Command Line Tool
set ISQL=C:\PROGRA~1\MICROS~3\90\TOOLS\BINN\osql.exe
rem Имя SQL Server'a
set SQLServer=ALPHA
set BackupUser=%Login%
rem Утилита архивирования командной строки
set RAR=C:\PROGRA~1\WINRAR\rar.exe
rem Утилита forfiles - для запуска процедуры удаления дла старых бакапов
set FORFILES=C:\Scripts\forfiles.exe
rem Удалять бакапы, старше этого количества дней
set Days=90

rem Сетевые ресурсы для резервного копирования
rem В случае, если копирование по сети не нужно, установите пути пустыми
Set Path01=\\ALPHA\D$\Backups
Set Path02=\\CHICAGO\Disk\Backups
rem Лог файл о результатах копирования, в случае, если копирование не ве-дется, не используется
set Log=c:\backup_log.txt

rem Проверки
IF NOT EXIST "%ISQL%" (echo Microsoft SQL Server Command Line Tool "%ISQL%" не найден!
echo Поправьте значение переменной ISQL в командном файле!
goto :EOF)
IF NOT EXIST "%RAR%" (echo Архиватор "%RAR%" не найден!
echo Поправьте значение переменной RAR в командном файле!
goto :EOF)
IF NOT EXIST "%FORFILES%" (echo Утилита "%FORFILES%" не найдена!
echo Поправьте значение переменной FORFILES в командном файле!
goto :EOF)
IF NOT EXIST "%backup%" (echo Каталог бакапов "%Backup%" не найден!
echo Поправьте значение переменной BACKUP в командном файле!
goto :EOF)

if NOT '%Path01%'=='' (IF NOT EXIST "%Path01%" (echo Каталог бакапов "%Path01%" не найден!
 echo Поправьте значение переменной Path01 в командном файле!
 echo %date% %time% Поправьте значение переменной Path01 в командном файле! >> %log%
 set Path01=)
)
if NOT '%Path02%'=='' (IF NOT EXIST "%Path02%" (echo Каталог бакапов "%Path02%" не найден!
 echo Поправьте значение переменной Path02 в командном файле!
 echo %date% %time% Поправьте значение переменной Path02 в командном файле! >> %log%
 set Path02=)
)

for /f "tokens=1-4 delims=. " %%i in ('date /t') do set longdate=%%i%%j%%k
set temp=C:\TEMP

set FileName=%longdate:~0,2%_%longdate:~2,2%_%longdate:~4,4%
rem дата в формате 2003_04_12
echo Дата: %Filename%
echo SQL Server: %SQLServer%
echo База данных: %Database%
echo.

echo 1. Снятие Backup...
set ArcSQL=%temp%\arcsrv.sql
echo USE master > %ArcSQL%

echo EXEC sp_addumpdevice 'disk', '%Database%_Backup', '%BACKUP%\%Database%_%FileName%.bcp' >> %ArcSQL%
echo BACKUP DATABASE %DataBase% TO %Database%_Backup >> %ArcSQL%
echo exec sp_dropdevice '%Database%_Backup' >> %ArcSQL%

"%ISQL%"  -S %SQLServer% -d master -U %BackupUser% -P %Password% -i %ArcSQL% -n

echo 2. Упаковка backup'а...
cd "%BACKUP%"
"%RAR%" a "%BACKUP%\%Database%_%FileName%" "%BACKUP%\*%Filename%.bcp" -rr -c -ep -av -idp -id -idc


echo 2. Копирование резервных копий в сети...

if not '%Path01%'=='' Call :CopyProc "%Path01%"
if not '%Path02%'=='' Call :CopyProc "%Path02%"

echo 3. Лог результата копирования
set i=0
IF EXIST "%BACKUP%\%Database%_%FileName%.rar" (set /a i=%i%+1)
IF EXIST "%Path01%\%Database%_%FileName%.rar" (set /a i=%i%+1)
IF EXIST "%Path02%\%Database%_%FileName%.rar" (set /a i=%i%+1)
echo %Date% %time% - Backup %Database% завершен! Готово архивов: %i% из 3 >> %log%
echo.
echo Backup complete

if /i %i% NEQ 0 (Call :Delete)
goto :EoF

:Delete
:удаляю все что старше...
"%forfiles%"  -p"%Backup%"  -s -m*.rar -d-%Days% -c"CMD /C del @PATH\@FILE"
if not '%Path01%'=='' ("%forfiles%"  -p"%Path01%"  -s -m*.rar -d-90 -c"CMD /C del @PATH\@FILE")
if not '%Path02%'=='' ("%forfiles%"  -p"%Path02%"  -s -m*.rar -d-90 -c"CMD /C del @PATH\@FILE")
del "%backup%\*.bcp"
goto :eof

:CopyProc
echo Копирование... %1
copy "%BACKUP%\%Database%_%FileName%.rar" %1
goto :eof

:usage
echo.
echo   Использование:
echo          BACKUP {Имя базы данных} {Логин} {Пароль}
goto :eof

:eof
User is offlineProfile CardPM
Go to the top of the pageGo to the end of the page
+Quote Post

 
post 30.06.2007 - 23:58
Отправлено #7
ENOTik_18654



Опытный юзверь
**

Профиль
Группа: Пользователи
Сообщений: 102
Регистрация: 7.02.2007
Пользователь №: 329.555


Респектов: 7
-----X----


Предупреждений:   0


Да, чуть не забыл, special for Equilibria:
файлик с основами bat'a
User is offlineProfile CardPM
Go to the top of the pageGo to the end of the page
+Quote Post

 
post 31.07.2007 - 22:59
Отправлено #8
Dens-v



Unregistered


Профиль












Добрый день!Люди подскажите пожалуйста что мне не хватает?
Запускаю из командной строки вот эту строчку: rasdial Имя подкл Польз парол -Всё отлично срабатывает,создаю батник с этой строчкой эфекта 0.Заранее спасибо!
Go to the top of the pageGo to the end of the page
+Quote Post

 
post 1.08.2007 - 11:00
Отправлено #9
Quim2005



Специалист
Group Icon

Профиль
Группа: Наши Люди
Сообщений: 542
Регистрация: 19.01.2006
Из: Россия, г.Набережные Челны
Пользователь №: 111.013


Респектов: 90
-----X----




QUOTE(Dens-v @ 31.07.2007 - 22:56)
создаю батник с этой строчкой эфекта 0
*


Было такое. Указал путь к exe-шнику в строке и все пошло.
User is offlineProfile CardPM
Go to the top of the pageGo to the end of the page
+Quote Post

 
post 3.08.2007 - 18:33
Отправлено #10
ENOTik_18654



Опытный юзверь
**

Профиль
Группа: Пользователи
Сообщений: 102
Регистрация: 7.02.2007
Пользователь №: 329.555


Респектов: 7
-----X----


Предупреждений:   0


Dens-v, напиши сюда код своего bat-файла
User is offlineProfile CardPM
Go to the top of the pageGo to the end of the page
+Quote Post


Reply to this topicTopic OptionsStart new topic
 


  Яндекс цитирование   Rambler's Top100
LITE - версия | WAP - версия