Версия для печати темы
Твой софтовый форум Программирование Батники
Автор: ENOTik_18654 28.06.2007 - 23:20
Предлагаю открыть тему создания разичный 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 Теперь окно можно закрыть :-) ...
Автор: Equilibria 29.06.2007 - 6:19
QUOTE
Предлагаю открыть тему создания разичный bat-файлов aka быстрого выполнения рутинных действий на компьютере
Поддерживаю, и так как хочу сама научиться создавать нормальные батники (уже делала, но простенькие), предлагаю в первую очередь поместить в тему список всех (или всех основных) команд с пояснениями. Искала такой полный список, но пока не нашла.
Автор: yah 29.06.2007 - 8:09
QUOTE(Equilibria @ 29.06.2007 - 6:16)
Искала такой полный список, но пока не нашла.
Заходишь в справку в винде и ищешь "Справочник по параметрам командной строки" ,)
Автор: _Dimas_ 29.06.2007 - 13:49
Подерживаю, а то и так мало народу кто командами умеет работать, так ведь и сам иной раз вспоминаешь как это делается
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 "Текст сообщения"
Автор: ENOTik_18654 30.06.2007 - 23:37
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
Автор: ENOTik_18654 30.06.2007 - 23:47
Ну, а это самое серьезное
Используется для создания бекапов для 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
Автор: ENOTik_18654 30.06.2007 - 23:58
Да, чуть не забыл, special for Equilibria:
файлик с основами bat'a
Автор: Dens-v 31.07.2007 - 22:59
Добрый день!Люди подскажите пожалуйста что мне не хватает?
Запускаю из командной строки вот эту строчку: rasdial Имя подкл Польз парол -Всё отлично срабатывает,создаю батник с этой строчкой эфекта 0.Заранее спасибо!
Автор: Quim2005 1.08.2007 - 11:00
QUOTE(Dens-v @ 31.07.2007 - 22:56)
создаю батник с этой строчкой эфекта 0
Было такое. Указал путь к exe-шнику в строке и все пошло.
Автор: ENOTik_18654 3.08.2007 - 18:33
Dens-v, напиши сюда код своего bat-файла
Автор: Zloy_T 3.08.2007 - 22:13
ENOTik_18654, пробуй
Скопируй в обычный виндовый блокнот и сохрани, как test.cmd
CODE
@echo off
chcp 1251
==твой бат собственно==
ну тут наверно екзит:Р
Автор: Zloy_T 4.08.2007 - 4:01
справка по батам.
| У Вас нет прав для просмотра этого текста, пожалуйста, зарегистрируйтесь |
Автор: Dens-v 6.08.2007 - 15:01
QUOTE
Dens-v, напиши сюда код своего bat-файла
CODE
rasdial VPN Ivan 12345
Например вот так из командной строки отробатывает нормально а из батника не хочет.
Но проблему решил созданием ярлыка!
Автор: ENOTik_18654 6.08.2007 - 18:57
QUOTE
Например вот так из командной строки отробатывает нормально а из батника не хочет.
Но проблему решил созданием ярлыка!
Ради интереса создал у себя такое же подключение с таким же именем и все работает.
Кстати, ты в какой кодировке сохранял bat-файл ? Нужна кодировка Dos. Кодовая страница 866!
CODE
@ECHO OFF
RASDIAL VPN Ivan 12345
pause
Автор: alexank 9.08.2007 - 7:45
да у меня тоже такое было только я не помню в чем была проблема
Автор: symrak009 24.09.2007 - 7:49
хм.. батники.. а подскажите ка люди как при помощи bat-ника включать одновременно 2-3 приложения?
Автор: Love.sys 24.09.2007 - 10:44
Цитата | Quote
хм.. батники.. а подскажите ка люди как при помощи bat-ника включать одновременно 2-3 приложения?
очень просто:
3progi.batCode
start "c:\soft\megaproga1.exe"
start "c:\soft\megaproga2.exe"
start "c:\soft\megaproga3.exe"
есть ещё более простой вариант:
3progi_ver2.batCode
c:\soft\megaproga1.exe
c:\soft\megaproga2.exe
c:\soft\megaproga3.exe
Автор: rRapsz 25.09.2007 - 20:57
Code
@echo off
date/t >>c:/Ping.txt
time/t >>c:/Ping.txt
echo on
ping 192.256.130.45 -l 1400 -n 20 >>c:/Ping.txt
pause
Народ подскажите, вот есть такой батник, он кароче мерит пинги а потом записывает в фаил, а можно ли сделать, чтобы , он показывал на экране отчёты о пингах и записывал их потм в фаил ?
Автор: ENOTik_18654 27.09.2007 - 10:59
Цитата | Quote
а можно ли сделать, чтобы , он показывал на экране отчёты
В смысле? А зачем тебе это, ты ведь и так записываешь это все в файл? Так что просто открывай его после проверки пинга теми же средствами bat-файла (explorer <имя файла>).
Автор: rRapsz 27.09.2007 - 19:39
Цитата | Quote(ENOTik_18654 @ 27.09.2007 - 11:56)
В смысле? А зачем тебе это, ты ведь и так записываешь это все в файл? Так что просто открывай его после проверки пинга теми же средствами bat-файла (explorer <имя файла>).
не ну это понятно, просто хотел сразу видеть очтёты о пингах, а не ждать пока все пинги проверятся и запишутся
Автор: Азамат 23.10.2007 - 18:26
а вопрос про батник
вот надо сделать так вообщем перед запуском exe файла запускается батник который запускает файл как службу винды
потом запускается сам exe файл
вот как интегрировать батник в exe знаю вроде а как создать описанный выше
Автор: oligarh_arhiv 23.10.2007 - 18:56
Цитата | Quote(Азамат @ 23.10.2007 - 19:26)
а вопрос про батник
вот надо сделать так вообщем перед запуском exe файла запускается батник который запускает файл как службу винды
потом запускается сам exe файл
вот как интегрировать батник в exe знаю вроде а как создать описанный выше
Пробуй в батнике зарускать ехе
Code
start /B "c:\ewpoew.exe"
так запускаеться приложение без создания отдельного окна
Добавлено:точнее не так
я не совсем понял задачу

наверное
Code
start /wait "c:\ewpoew.bat"
start "c:\ewpoew.exe"
Добавлено:и вообще....почему нельзя так
Цитата | Quote
net start "твоя служба"
start "c:\ewpoew.exe"
Автор: Sauron 24.10.2007 - 12:53
Такой вопрос: Может ли батник распаковать запароленый зип архив и как это сделать батник и архи лежат в одной папке распаковать нужно туда же.
Автор: Korich 24.10.2007 - 13:12
Code
Rar x -p пароль имя_архива.rar
Автор: Азамат 27.10.2007 - 17:45
что то не запускается служба
коммандой net start
есть другие сведения
Автор: yah 27.10.2007 - 19:33
Цитата | Quote(Азамат @ 27.10.2007 - 17:45)
что то не запускается служба
коммандой net start
есть другие сведения
Ну если то, что ты запускаешь, изначально не было акцентировано на работу в качестве службы, то вряд ли тебе это удастся *)
Автор: oligarh_arhiv 29.10.2007 - 10:43
Если в названии службы есть пробел, название нужно брать в кавычки
Если название службы на русском, то созданием в блокноте не получиться, юзай редактор FARа
И еще, с какой ошибкой отваливаеться запуск службы, без этого тяжело определить в чем замок 
ДОБАВЛЕНО
Можно воспользоваться консолью cmd 
в командной строке пишем такую команду
Code
copy con c:\netstart.bat
после нажатия ВВОДа
записываем команды которые должны быть в батнике

Code
net start "твоя служба"
start "c:\ewpoew.exe"
далее жмем CTRL+Z и еще раз ВВОД
в итоге получаем в корне диска С: файл netstart.bat в нужной кодировке
Автор: Sauron 30.10.2007 - 17:28
Цитата | Quote(Korich @ 24.10.2007 - 16:12)
Rar x -p пароль имя_архива.rar
не распаковывает, может ещё как можно
Автор: Korich 30.10.2007 - 17:53
Safarid, извини, случайно пробел поставил
rar x -pпароль имя_архива.rar
Автор: Sauron 30.10.2007 - 18:19
Уже 5 минут распаковывает архив 1,16 килобайт
может лучше команду на zip или как-нить быстрее 
Автор: AXUC 11.12.2007 - 15:55
В локальной сети, на своем диске с открытым доступом, я выложил вот такой батник:
Code
net share localka=C:\
Все подряд заходят и тупо по нему щелкают. Естественно у них на диске C:\ открывается доступ. И пока они этого не узнали, я залажу к ним на диск, вижу все файлы, но вот удалить не могу

. Почему? Может тут надо что-нибудь дописать?
Автор: lFallenl 12.12.2007 - 8:11
А не подскажите: как к батнику на форматирование диска без подтверждения прикрепить время запуска и запуск в свернутом окне?
Автор: ENOTik_18654 26.12.2007 - 13:48
> А не подскажите: как к батнику на форматирование диска без подтверждения прикрепить время запуска и запуск в свернутом окне?
Время запуска команда: AT
Запуск в свернутом виде: START MIN
Автор: Азамат 19.02.2008 - 17:55
а как можно сделать скрипт или батник чтоб например он проверял какое то значение если нашел его то кричал я нашел а если нет то процесс шел бы дальше
т.е. на деле как сделать то что делают программы допустим каспер
например каспер стоит и ты хочешь второй раз установить он говорит нельзя я уже установлен
как это сделать?
Автор: ENOTik_18654 19.02.2008 - 18:39
Цитата | Quote
а как можно сделать скрипт или батник чтоб например он проверял какое то значение если нашел его то кричал я нашел а если нет то процесс шел бы дальше
т.е. на деле как сделать то что делают программы допустим каспер
например каспер стоит и ты хочешь второй раз установить он говорит нельзя я уже установлен
как это сделать?
Для этого существуют команды проверки условий IF ... ELSE ... THEN ...
Автор: Expelled 19.02.2008 - 23:58
Цитата | Quote(_Dimas_ @ 29.06.2007 - 13:49)
...
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
...
А можно более подробно обьяснить что тут происходит? Мне просто нужен батник который копировал бы файлы из одной папки в другую, без удаления в первой. Этот батник положу в загрузку системы, и таким образом при запуске компа каждый раз будет создаваться резервная копия
Автор: walet 20.02.2008 - 2:16
Цитата | Quote(Expelled @ 20.02.2008 - 0:58)
А можно более подробно обьяснить что тут происходит?
А читать мы не умеем?

Code
rem Удаление источника, если есть
del /F /S /Q %2 >>nul
rd /S /Q %2 >>nul
rem Создаем источник заново
md %2 >>nul
убирай, и вперёд)
Автор: Азамат 20.02.2008 - 5:51
Цитата | Quote(ENOTik_18654 @ 19.02.2008 - 18:39)
Цитата | Quote
а как можно сделать скрипт или батник чтоб например он проверял какое то значение если нашел его то кричал я нашел а если нет то процесс шел бы дальше
т.е. на деле как сделать то что делают программы допустим каспер
например каспер стоит и ты хочешь второй раз установить он говорит нельзя я уже установлен
как это сделать?
Для этого существуют команды проверки условий IF ... ELSE ... THEN ...
а можно пример....?
Автор: Expelled 20.02.2008 - 10:03
Цитата | Quote(walet @ 20.02.2008 - 2:16)
Цитата | Quote(Expelled @ 20.02.2008 - 0:58)
А можно более подробно обьяснить что тут происходит?
А читать мы не умеем?

Code
rem Удаление источника, если есть
del /F /S /Q %2 >>nul
rd /S /Q %2 >>nul
rem Создаем источник заново
md %2 >>nul
убирай, и вперёд)
Эххх, не выходит. Оставил только :
Code
@echo off
rem Копирование данных из онной папки в другую
rem Запуск BAT-File.cmd "Папка источник" "Папка приемник"
echo Копирование завершено
pause
В скобках вместо "Папка источник, и приемник" написал свои папки, допустим D:\TEST\ и D:\TEST2\ . И ступор, ничего никуда не копируется. Плюс просит нажать кнопку,а нужно что бы без подтверждения копировалось, мне в фирму на бухгалтерский комп что бы файлы почты копировались

---
Вот пока такое "написал "
Code
copy D:\TEST1\Test.txt D:\TEST2\
pause
Но нужно что бы без подтверждения запускалось, копировалось и само закрывало окно. Такое возможно ?
---
Собсно решил,
Code
copy D:\TEST1\Test.txt D:\TEST2\
exit
---
Самый имхо оптимальный вариант копирования %
Code
@echo off
copy "путь к файлу копирования" "путь куда будет копироваться"
echo Копирование завершено (я бы написал на английском, так как у мну например проблемы с Рус. кодировкой в батниках)
pause
Автор: _Dimas_ 20.02.2008 - 10:21
Цитата | Quote
@echo off
запрет вывода запускаемых комманд
Там где строчка начинается с
rem это коментарий
Там где строчка заканчивается на
>>nul это отменяет вывод действий команды на консоль
Цитата | Quote
del /F /S /Q %2 >>nul
Удаляет все файлы и папки из приемника
Цитата | Quote
rd /S /Q %2 >>nul
Удаляет саму папку приемника
Цитата | Quote
md %2 >>nul
Создает папку приемника
Цитата | Quote
xCopy %1 %2 /S /E /C /I /Q /H /R >>nul
копирует все файлы, папки и подпапки из источника в приемник
Цитата | Quote
echo Копирование завершено
Вывод на консоль сообщения
Копирование завершеноЦитата | Quote
pause
Пауза в программе, ждет нажатия любой кнопки
Если хочешь видеть все действия которые выполняет программа, убери все
>>nulНаписал ее для копирования свежих баз из локалки подключенной к интернету в локалку не имеющего подключения к интернету.
Если надоедает каждый раз нажимать кнопку по завершении копирования, убери паузу.
Для более подробной информации по какой либо команде, набери
Code
команда /?
например
Code
xCopy /?
Автор: finder07 20.02.2008 - 12:35
Доброго времени суток, господа.
Помогите пожалуйста, мне нужен батник, который пинговал бы компьютер, а если бы ответа от компа не поступало, сразу же запускались бы несколько программ.
Заранее спасибо )))
Автор: _Dimas_ 20.02.2008 - 15:06
Цитата | Quote
Помогите пожалуйста, мне нужен батник, который пинговал бы компьютер, а если бы ответа от компа не поступало, сразу же запускались бы несколько программ.
Code
ping.exe Computer_or_IPAdress -n 1 -w 500
if ERRORLEVEL 1 goto :OFF
rem раздел программ если комп пингуется
rem если здесь программы не нужны ничего не писать
goto :EOF
rem если хочешь зациклить поставь метку в начале программы
rem а вместо "goto :EOF" напиши "goto :твоя_метка"
:OFF
rem раздел программ если комп не пингуется
Автор: ENOTik_18654 20.02.2008 - 16:57
Цитата | Quote
а можно пример....?
Можно конечно!
Code
@ECHO OFF
rem Если существует файл Changed.mdb, то
rem переходим к метке ARCHIV и
rem добавляем в архив test все типы файлов,
rem иначе переход к END и выход!
IF EXIST Changed.mdb (GOTO :ARCHIV) ELSE GOTO :END
:END
ECHO Файла не существует! :-(
PAUSE
EXIT
:ARCHIV
"c:\Program Files\Winrar\rar.exe" a test *.*
PAUSE
PS Не забываем, что все бат-файлы должны быть в кодировке DOS, т.е. в 866 кодовой странице!
Автор: ENOTik_18654 15.07.2008 - 13:26
Давно что-то эта тема не обсуждается. Продолжение... архивация БД программы QIP:
Code
@ECHO OFF
SET rar="c:\Program Files\Winrar\rar.exe"
SET archdir="E:\Ivan\Service\QipBase"
SET archfile="E:\Ivan\Service\QipBase\Users"
%rar% a -t -ep1 %archdir%\Backup_Hystory.rar %archfile%
PAUSE
Автор: _Dimas_ 15.07.2008 - 13:59
Урезание лога базы MS SQL
Code
@echo off
rem Важно !!! Кодировка DOS !!!
rem ********************************************************
rem * Backup.cmd - архивирование лога базы *
rem * Backup.cmd "Имя сервера" "Имя Базы" "Логин" "Пароль" *
rem ********************************************************
echo %0 %1 %2 %3 %4
echo Начало выполнения: %Date% %Time%
set SQLServer=%1
set DataBase=%2
set Login=%3
set Password=%4
if '%SQLServer%'=='/?' goto :help
if '%SQLServer%'=='' goto :help
if '%DataBase%'=='' goto :help
if '%Login%'=='' goto :help
rem Microsoft SQL Server Command Line Tool
set osql=%ProgramFiles%\Microsoft SQL Server\80\Tools\Binn\osql.exe
rem Путь к каталогу бакапов на сервере
set Path=D:\
rem формирование имени файда
set FileName=%DataBase%_log
set BackupFile=%Path%%FileName%.bak
rem Проверки
if not exist "%osql%" (echo Microsoft SQL Server Command Line Tool "%osql%" не найден!
echo Поправьте значение переменной osql в командном файле!
goto :KONEC)
if not exist "%Path%" (md "%Path%"
if not exist "%Path%" (echo Не могу создать каталог "%Path%"!
echo Проверте настройки доступа или поправте значение
echo переменной Path в командном файле!
goto :KONEC))
"%osql%" -S %SQLServer% -d master -U %Login% -P %Password% -Q "BACKUP LOG %Database% TO DISK = N'%BackupFile%' WITH INIT, NOUNLOAD, NAME = N'%Database% backup', NOSKIP, STATS = 10, NOFORMAT"
"%osql%" -S %SQLServer% -d master -U %Login% -P %Password% -Q "use %Database% DBCC SHRINKFILE (N'KompasMS_log', 128)"
goto :KONEC
rem Справка по использованию программы
:help
echo
echo Использование программы:
echo %0 {Имя сервера} {Имя базы данных} {Логин} {Пароль}
goto :KONEC
:KONEC
echo Конец выполнения: %Date% %Time%
echo ---------------------------------------------------------------------------------
Автор: Васерман 29.07.2008 - 0:29
Ребята,помогите пожалуйста написать батник,который будет выключать комп ровно в 23.00.
Автор: _Dimas_ 29.07.2008 - 4:54
в планировщик запихни
shutdown -s -t 10
или
shutdown -s -m \\Другой_комп -t 10
Во втором случае нужны права админа на другой комп
Автор: Васерман 30.07.2008 - 22:39
Цитата | Quote(_Dimas_ @ 29.07.2008 - 4:54)
в планировщик запихни
shutdown -s -t 10
или
shutdown -s -m \\Другой_комп -t 10
Во втором случае нужны права админа на другой комп
а по детальнее можно пожалуйста как запихнуть в планировщик?
и почему имеено -t 10 ,как планировщик определит что это имеено 10 вечера или например 10 утра?
Добавлено:Еще такой ламерский,возможно,вопрос , перед тем как писать батник в тхт формате,обязательно писать в самом верху
"@echo off" ?
Автор: _Dimas_ 31.07.2008 - 5:11
Цитата | Quote
а по детальнее можно пожалуйста как запихнуть в планировщик?
Пуск -> Настройка -> Панель управления -> Назначенные задания.
Щелкаешь правой кнопкой мыши, в спывающем меню Создать -> Назначенное задание, даешь имя этому заданию (например «Выключение»)
Открываешь это здание. В поле выполнить пишешь
«shutdown -s -t 10»
-s этот параметр говорит то что комп надо выключить
-t 10 это задержка в секундах
Переходишь на вкладку Расписание
И ставишь нужное тебе расписание
Назначить задание: Ежедневно
Время начала: 23:00
Расписание по дням: Каждый 1 день
Нажимаешь ОК, появляется запрос от какого имени выполнять задание. По умолчанию там написан твой логин, так что просто вводишь свой пароль.
Цитата | Quote
Еще такой ламерский,возможно,вопрос , перед тем как писать батник в тхт формате,обязательно писать в самом верху
"@echo off" ?
«@echo off»
Писать не обязательно
Это строка предотвращает вывод на экран запускаемую строку
а символ @ не выводит на эктан саму команду echo off
Возьми какой-нибудь батник запусти его с этой строкой и без нее и посмотри отличия.
Автор: Васерман 31.07.2008 - 18:30
спасибо,буду пользоватьс,я в последнее время лень выключать комп *в ручную*=)кстати а как добавить батник в автозагрузку ,если батник называеться,например,"123.bat"
Автор: _Dimas_ 1.08.2008 - 5:02
Мышкой тащишь его в Пуск -> Программы -> Автозагрузка
Автор: serega1313 1.08.2008 - 5:14
Цитата | Quote
если батник называеться,например,"123.bat"
C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка\
сюда вставляеш
Автор: Васерман 1.08.2008 - 9:32
Это понятно=)но как выглядит команда в батнике которая автоматически добавляет этот батник в автозагрузку?
нет возможности кликать на пуск-панель управления-автозагрузка
Автор: _Dimas_ 1.08.2008 - 9:41
Code
copy /y %0 "%UserProfile%\Главное меню\Программы\Автозагрузка\"
Это для русской версии винды
Кодировка должна быть DOS
Автор: Васерман 1.08.2008 - 10:40
неработает,мой батник называеться "123.bat",добавляю текст в txt файлик
copy /y %0 "%UserProfile%\Главное меню\Программы\Автозагрузка\123.bat"
сохраняю в батник ,запускаю на своем компе,смотрю в автозагрузке файлик 123.bat не появляеться
Автор: _Dimas_ 1.08.2008 - 10:44
А при чем тут txt файл?
Автор: Васерман 1.08.2008 - 10:49
батник пишу в тхт документе)
Автор: _Dimas_ 1.08.2008 - 10:55
можешь отправить мне этот файлик?
Автор: Васерман 1.08.2008 - 11:41
проверь личку)
Автор: Васерман 2.08.2008 - 0:46
кстати,как изменить адрес стартовой странички при открытии в ИЕ или в опере на страничку с другим адресом,посредством батника)
посмотрел в реестре,нашел,для ИЕ адресс начальной стартовой странички храниться в ветке
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
раздел StartPage .
.....В моем случае,мне интересно ,как посредством батника можно изменить стартовую страничку указанную в скрине ниже,на стартовую страничку с адресом, например, www.mail.ru или на другой сайт)
Автор: _Dimas_ 4.08.2008 - 7:28
Команда для изменения Стартовой страницы в IE
Code
reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /v "Start Page" /d "Адрес нужной страницы" /f
Для оперы нужно править ini-файл.
По умолчанию он находится здесь:
%UserProfile%\Application Data\Opera\Opera\profile\Opera6.ini
Секция: [User Prefs]
Параметр: Home URL
Автор: Васерман 4.08.2008 - 17:21
_Dimas_,значит в валидной форме *запись* в батнике *для Оперы* будет
reg add "%UserProfile%\Application Data\Opera\Opera\profile\Opera6.ini" /v "user pref" /d "www.startaddress.com" /f ?
Добавлено:
кстати,спасибо тебе за ответы,я по ним начинаю понимать постепенно суть этого языка)
Автор: ZaHack 4.08.2008 - 18:59
Васерман,
Цитата | Quote
значит в валидной форме *запись* в батнике *для Оперы* будет
reg add "%UserProfile%\Application Data\Opera\Opera\profile\Opera6.ini" /v "user pref" /d "www.startaddress.com" /f ?
Нет
Автор: Васерман 4.08.2008 - 19:10
а как будет правильно ?
Автор: _Dimas_ 5.08.2008 - 5:01
Тут наверно лучше через Java скрипт сделать.
Тут уже работа с файлом а не с реестром.
А есть или нет команда правки файла через консоль я не знаю.
Это уже для любителей поразвлечься в рабочее время или просто для прикола. При обнаружении указанного процесса (например игрушки), завершает его и запускает нужную вещь. Этой вещью может быть должностная инструкция )
Code
@echo off
set FilterProcess=taskmgr.exe
set StartProgramm=notepad.exe
:first
tasklist /fi "imagename eq %FilterProcess%" | findstr %FilterProcess%
if %errorlevel%==1 goto :first
taskkill /fi "imagename eq %FilterProcess%" /f /t >nul
start %StartProgramm%
goto :first
Автор: RusHacK 19.08.2008 - 15:52
Цитата | Quote(_Dimas_ @ 5.08.2008 - 5:01)
Тут наверно лучше через Java скрипт сделать.
На сколько я знаю, ни в js, ни в vbs нет ничего для работы с ini файлами, лучше написать небольшую консольную программку, и передавать ей параметры из batника.
Если нужно, могу помочь.
Автор: Васерман 20.08.2008 - 20:09
Это возможно реализовать,например изменение стартовой страанички ,правя файл *ini .Сам интересуюсь этим ,если интересно пиши в личку,я увлекаюсь этим .
Code
set WshShell = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set RegExp = CreateObject("VBScript.RegExp")
inifile = WshShell.ExpandEnvironmentStrings("%USERPROFILE%") &"\Application Data\Opera\Opera\profile\opera6.ini" 'Путь к файлу
strfind = "Home URL=[A-z./?&-~\d]*"
newstr = "Home URL=http://www.nyjnuysait.com"
Set Text = FSO.OpenTextFile(inifile)
Str = Text.ReadAll
RegExp.Pattern = strfind
Str = RegExp.Replace(Str, newstr)
Text.Close
Set Text = FSO.GetFile(inifile).OpenAsTextStream(2)
Text.Write(Str)
Text.Close
Автор: Alinka-1 2.10.2008 - 18:59
Здравсвуйте! Помогите, пожалуйса решить проблему - пользуюсь RSS - читалкой Abilon Portable. Там есть памятки, хранящиеся в файле
D:\Program Files\Abilon\UserData\memories.dat
Периодически, в самый нужный момент оказывается, что эти памятки куда-то испарились. Опции архивирования этих памяток нет.
Можно ли написать такой батник, чтобы при его запуске в папке
D:\Program Files\Abilon\UserData\Archiv создавались подпапки (желательно с датой, можно просто с порядковым номером) и memories.dat копировался туда? Буду очень благодарна.
Автор: ENOTik_18654 2.10.2008 - 20:13
Цитата | Quote
Здравсвуйте! Помогите, пожалуйса решить проблему - пользуюсь RSS - читалкой Abilon Portable. Там есть памятки, хранящиеся в файле
D:\Program Files\Abilon\UserData\memories.dat
Периодически, в самый нужный момент оказывается, что эти памятки куда-то испарились. Опции архивирования этих памяток нет.
Можно ли написать такой батник, чтобы при его запуске в папке
D:\Program Files\Abilon\UserData\Archiv создавались подпапки (желательно с датой, можно просто с порядковым номером) и memories.dat копировался туда? Буду очень благодарна.
Можно конечно. Но как правило bat-файлы идут в связке с какой-нибудь программой (чаще всего Winrar) и преследуют собой цель не только скопировать нужные файлы в отдельное место, но и сжать их по возможности.
| У Вас нет прав для просмотра этого текста, пожалуйста, зарегистрируйтесь |
Вариант конечно ооооооочень сырой, но каркас такой ;
Автор: Alinka-1 2.10.2008 - 21:30
Спасибо большое! А что дописать, чтобы не выскакивало «черное окно» и чтобы в конце не нужно было нажимать любую клавишу, а закинуть в папку автозагрузки и забыть?
Автор: yah 2.10.2008 - 21:51
Цитата | Quote(Alinka-1 @ 2.10.2008 - 22:30)
А что дописать, чтобы не выскакивало «черное окно» и чтобы в конце не нужно было нажимать любую клавишу, а закинуть в папку автозагрузки и забыть?
Нужно в самом конце убрать "PAUSE". Но черное окно все равно будет на секунду мелькать....
Автор: Alinka-1 3.10.2008 - 12:00
Цитата | Quote
Нужно в самом конце убрать "PAUSE". Но черное окно все равно будет на секунду мелькать....
Черное окно убрала, поставив в свойствах ярлыка BAT- файла - запускать свернутым в значок. Но вошла во вкус , захотелось, чтобы сначала архивировался memories.dat, а затем запускался Abilon.exe
Написала:
Code
@ECHO OFF
SET rar="c:\Program Files\WinRar\rar.exe"
SET SDir="D:\Program Files\Abilon\UserData\Archiv"
SET Files="D:\Program Files\Abilon\UserData\memories.dat"%rar% a -ag+YYYY-MM-DD-NN %SDir%\arxiv.rar %Files%
D:\Program Files\Abilon\Abilon.exe
Архивирует, Abilon запускает, но окно cmd само не закрывается, остается свернутым на панели задач.
Что нужно сделать, чтобы само закрывалось?
Автор: yah 3.10.2008 - 12:10
Цитата | Quote(Alinka-1 @ 3.10.2008 - 13:00)
но окно cmd само не закрывается, остается свернутым на панели задач.
Разверни его и посмотри, что в нем написано...
Автор: _Dimas_ 3.10.2008 - 14:03
Цитата | Quote
рхивирует, Abilon запускает, но окно cmd само не закрывается, остается свернутым на панели задач.
Что нужно сделать, чтобы само закрывалось?
попробуй написать
Code
start "D:\Program Files\Abilon\Abilon.exe"
И паузу в конце убери
Автор: Alinka-1 4.10.2008 - 12:12
Code
@ECHO OFF
SET rar="c:\Program Files\WinRar\rar.exe"
SET SDir="D:\Program Files\Abilon\UserData\Archiv"
SET Files="D:\Program Files\Abilon\UserData\memories.dat"%rar% a -ag+YYYY-MM-DD-NN %SDir%\arxiv.rar %Files%
D:\Program Files\Abilon\Abilon.exe
Архив создает, Abilon запускает, окно не закрывается. Текст окна:
Code
RAR 3.70 Авторские права <с> 1993-2007 Александр Рошал
Создание архива D:\Program Files\Abilon\UserData\Archiv\Hrchiv\20O8-10-04-11-arxiw.rar
Добавление D:\Program Files\Abilon\UserData\memories.dat OK
Готово
Code
@ECHO OFF
SET rar="c:\Program Files\WinRar\rar.exe"
SET SDir="D:\Program Files\Abilon\UserData\Archiv"
SET Files="D:\Program Files\Abilon\UserData\memories.dat"%rar% a -ag+YYYY-MM-DD-NN %SDir%\arxiv.rar %Files%
start "D:\Program Files\Abilon\Abilon.exe"
Архив создает , Abilon не запускает, окно закрывается само собой.