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

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

Автор: Elroir
Дата сообщения: 17.10.2006 03:32
GOODmen
К строчке rar-а, добавь
Код: | find /v "OK"
Автор: ViSiToR
Дата сообщения: 17.10.2006 07:43
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
)
Автор: Craager
Дата сообщения: 17.10.2006 08:23
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 !? А то у меня пока плеер не закроешь, окно не уйдёт (((

Кайф вообще сделать чтобы всё было скрыто, но с этими прогами не работал ни разу ещё (((
Автор: Kronix
Дата сообщения: 17.10.2006 08:50
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))))
)
Автор: ViSiToR
Дата сообщения: 17.10.2006 08:58
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
Автор: Snegov1k
Дата сообщения: 17.10.2006 09:23
Все пашет Спасибо
Автор: Craager
Дата сообщения: 17.10.2006 09:31
ViSiToR, Мегареспект !!! Спасибо, всё работает как часы !!!

А ты случаем не знаешь как поставить тихо (скрыто) Crystal Player !? Какие там ключи надо прописывать )))
Автор: KapralBel
Дата сообщения: 17.10.2006 09:52
ViSiToR

Код: Title Заголовок окна
cmdow "Заголовок окна" /HID
Автор: ViSiToR
Дата сообщения: 17.10.2006 10:46
KapralBel

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

Не знал, я с этой утилитой первый раз сталкиваюсь, просто использовал на основе инструкции с сайта.

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

Craager

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


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

Run a program hidden:-


Код: cmdow /run /hid myprog.exe
Автор: KapralBel
Дата сообщения: 17.10.2006 10:51
ViSiToR
Цитата:

CMDow /?

The At symbol '@' may be used to refer to this window.

Символ @ - сслылка на текущее окно
Автор: kazavo4ka
Дата сообщения: 17.10.2006 12:47
Блин видимо я сегодня туплю... Есть вот такой вопрос - нужно в планировщик заданий прописать скрипт который выполняет следующие задачи:

Проверяет наличие определенного файла (обычный txt) в определенной директории, если файл будет с именем допустим error.txt то надо запустить другой скрипт js (его я уже написал ) с двумя параметрами, если с именем good.txt то запускается другой скрипт тоже с двумя параметрами (его тоже написал ).
Заранее спасибо.
Автор: Elroir
Дата сообщения: 17.10.2006 12:56
kazavo4ka

Код:
if exist error.txt (скрипт1 пар1 пар2) else (
if exist good.txt (скрипт2 пар1 пар2))
Автор: denis255
Дата сообщения: 17.10.2006 13:01
Можно ли сотворить следующее.
определить текущий динамический Ip ADSL модема и записать этот ip в файл после допустим строки "Hello "
Автор: kazavo4ka
Дата сообщения: 17.10.2006 13:26
Elroir
Спасибо.

Обычно я запускал с такими параметрами - <какое-то число> <Набор слов>
Набор слов был с пробелами я их заменял %20 , а как сейчас поступить?
Автор: loat
Дата сообщения: 17.10.2006 15:51
Elroir
спасибо тебе.
Автор: PlanerX
Дата сообщения: 17.10.2006 16:00
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

и еще вопросик: данный код можно ли использовать для расчета нескольких дней вперед? и что нужно изменить в таком случае?
Заранее спасибо!
Автор: Elroir
Дата сообщения: 17.10.2006 16:24
kazavo4ka
Возьми набор слов в кавычки -

Код:
script.js число "параметр с пробелами"
Автор: Yuk
Дата сообщения: 17.10.2006 18:32
Вроде не сложная задача, но давно я с бат-файлами не связывался, подзабыл. Помогите, если не трудно.

Есть bat-файл со строкой:
osql -E -i backup.txt

Текстовый файл backup.txt с командами osql:
backup database lims3 to disk='C:\TEMP\lims3.dbk'
go
exit

Надо, чтобы в имя бекапа подставлялась дата и время его создания по формату:
lims3_MMDDYYHHMMSS.dbk

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

Автор: Refugee
Дата сообщения: 17.10.2006 19:11
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
Автор: Elroir
Дата сообщения: 17.10.2006 19:41
Yuk
Что выдают команды "echo %date%" и "echo %time%" ?
Автор: Yuk
Дата сообщения: 17.10.2006 20:05
Refugee
Спасибо, так действительно лучше. Все работает.
Только я в T-SQL ноль абсолютный.
Как, например, вывести только последние 2 цифры года?


Elroir
echo %date%
Tue 10/17/2006

echo %time%
13:03:15.89


Добавлено:
Refugee
Нашел:
RIGHT(CONVERT(varchar,DATEPART(yy,@dt)),2)

Спасибо большое!
Автор: Elroir
Дата сообщения: 17.10.2006 21:07
Yuk
Если не использовать T-SQL то так:

Код:
@echo off
echo backup database lims3 to disk='C:\TEMP\lims3_%date:~4,2%%date:~7,2%%date:~12,2%%time:~0,2%%time:~3,2%%time:~6,2%.dbk' > backup.txt
echo go >> backup.txt
echo exit >> backup.txt

osql -E -i backup.txt
Автор: Craager
Дата сообщения: 17.10.2006 21:35
Люди, а что нужно прописать в батнике, чтобы можно было осуществить проверку браузера, установленного по-умолчанию в системе... если это Internet Explorer, то скрипт выполняется дальше, а если другой (Мозила или Опера), то выполняется другой батник, прописывающий в реестр ниже приведённый текст:


Цитата:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet]
@="IEXPLORE.EXE"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ftp\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,75,00,72,00,\
6c,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\gopher\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,75,00,72,00,\
6c,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\HTTP\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,75,00,72,00,\
6c,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,75,00,72,00,\
6c,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.htm]
@="htmlfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.html]
@="htmlfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ftp\shell\open\command]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" %1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ftp\shell\open\ddeexec]
@="\"%1\",,-1,0,,,,"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ftp\shell\open\ddeexec\Application]
@="IExplore"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\gopher\shell\open\command]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" -nohome"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\gopher\shell\open\ddeexec]
@="\"%1\",,-1,0,,,,"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\gopher\shell\open\ddeexec\Application]
@="IExplore"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\gopher\shell\open\ddeexec\Application]
@="IExplore"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\HTTP\shell\open\command]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" -nohome"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\HTTP\shell\open\ddeexec]
@="\"%1\",,-1,0,,,,"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\HTTP\shell\open\ddeexec\Application]
@="IExplore"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\shell\open\command]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" -nohome"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\shell\open\ddeexec]
@="\"%1\",,-1,0,,,,"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\shell\open\ddeexec\Application]
@="IExplore"


После внесения этих данных, по идее браузер по-умолчанию меняется на ИЕ Часа 2 наверное эти ключи искал...
Автор: Yuk
Дата сообщения: 17.10.2006 21:43
Elroir
Спасибо, тоже вариант. Именно то, что я в начале задумывал.
Обязательно попробую.
Автор: Kirillhome
Дата сообщения: 17.10.2006 22:07
PlanerX
WIndows - 2000????

Во всяком случае, очень похоже...
[more=Более универсальный вариант (дата заканичвается на DD/MM/YYYY) увеличения даты]

Код:
@Echo Off
setlocal enabledelayedexpansion
set Day_pl=77
set T_Date=%DATE%
set T_Year=%T_DATE:~-4%
if %T_DATE:~-7,1%==0 (set T_Month=%T_DATE:~-8,1%) else (set T_Month=%T_DATE:~-7,2%)
if %T_DATE:~-10,1%==0 (set T_Day=%T_DATE:~-9,1%) else (set T_Day=%T_DATE:~-10,2%)
Set /A NEW_DAY=%T_DAY%+%Day_pl%
Set NEW_MONTH=%T_MONTH%
Set NEW_YEAR=%T_YEAR%
:start
@Call :VychMaxDay !NEW_MONTH! !NEW_YEAR!
if !NEW_DAY! GTR !Max_Day! (
set /A NEW_DAY=!NEW_DAY!-!Max_Day!
set /A NEW_MONTH=!NEW_MONTH!+1
if !NEW_MONTH! GTR 12 (
set /A NEW_YEAR=!NEW_YEAR!+1
set NEW_MONTH=1)
goto :start)

setlocal disabledelayedexpansion
if %NEW_Day% LSS 10 (
if %NEW_MONTH% LSS 10 (echo 0%NEW_DAY% 0%NEW_MONTH% %NEW_YEAR%) else (echo 0%NEW_DAY% %NEW_MONTH% %NEW_YEAR%)) else (echo %NEW_DAY% %NEW_MONTH% %NEW_YEAR%)
GOTO :EOF



:VychMaxDay
SET /A INT_YEAR=%2/4
SET /A NEW_INT_YEAR=%INT_YEAR%*4

if %1==1 (Set Max_Day=31)
if %1==2 (IF %2==%NEW_INT_YEAR% (Set Max_Day=29) else (Set Max_Day=28))
if %1==3 (Set Max_Day=31)
if %1==4 (Set Max_Day=30)
if %1==5 (Set Max_Day=31)
if %1==6 (Set Max_Day=30)
if %1==7 (Set Max_Day=31)
if %1==8 (Set Max_Day=31)
if %1==9 (Set Max_Day=30)
if %1==10 (Set Max_Day=31)
if %1==11 (Set Max_Day=30)
if %1==12 (Set Max_Day=31)
GOTO :EOF
Автор: Elroir
Дата сообщения: 17.10.2006 22:48
Craager
Создай файл ie_default.reg с теми значениями реестра которые ты привел или поменяй название reg файла в коде, если такой файл у тебя уже есть.

Код:
@echo off
reg query HKLM\SOFTWARE\Clients\StartMenuInternet /ve | find /I "iexplore" > nul
if errorlevel 1 regedit /s ie_default.reg
....
....
....
Автор: Otvertish
Дата сообщения: 17.10.2006 23:10
Добрый день. Я хотел бы узнать, есть ли команда, которая при запуске bat файла как бы скрывала его (чтобы вообще не появлялось это черное консольное окно)?
И еще. Какая команда автоматически сворачивает в трей прописанную в bat файл программу?
Автор: Craager
Дата сообщения: 17.10.2006 23:21
Elroir, спасибо огромное, вроде работает! Щас попробую на основе этой команды сделать проверку на установку видео проигрывателя по умолчанию...и в случае "неправды" устанавливать Crystal Player -)
Автор: evle
Дата сообщения: 18.10.2006 05:58
Otvertish

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

Читаем шапку:

Цитата:
cmdow — изменение параметров и видимости дос-окна

Автор: Snegov1k
Дата сообщения: 18.10.2006 11:16
А в бате можно реализовать такую схему - запускается батник и считает количество файлов в папке, потом сравнивает количество с количеством в файле и в случае равенства - запускает винрар, а потом вызывает скрипт?


Код:
@Echo Off
set Counter=0
FOR /F %%i IN ('dir /b /a-d /on Log\*.rar') DO Call :Count %%i
echo %Counter%
GoTo :EOF

:Count
echo %1 %counter%
Set /a Counter=%Counter%+1
GoTo :EOF

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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