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

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

Автор: drksrv
Дата сообщения: 01.12.2009 16:24
Здравствуйте,
Буду признателен за Вашу помощь...
Вопрос вот какой:

Код: @echo off
cls
echo Protecting srcds from crashes...
title srcds Watchdog
:srcds
echo (%time%) srcds started.
start /wait srcds.exe -console -game left4dead2 -port 27016 +map "c1m1_hotel versus" +sv_lan 0 +sv_gametypes versus
echo (%time%) WARNING: srcds closed or crashed, restarting....
goto srcds
Автор: sandkey
Дата сообщения: 01.12.2009 23:06
А можно вопрос? Вирус гадит в папки, создает в каждой папке файл название папки.ехе. Как сделать батник чтобы проверяло каждую папку и в случае обнаружения в папке папка.ехе прибивало его, а папка чтобы осталась? причем вирус имеет атрибут только для чтения
Автор: 01MDM
Дата сообщения: 01.12.2009 23:35
sandkey
Попробуй такой вариант, но бороться надо другими методами:

Код:
@echo off
for /r "Start Folder" /d %%i in (*) do (
    if exist "%%~fi\%%~nxi.exe" del /f /q "%%~fi\%%~nxi.exe"
)
Автор: BVV63
Дата сообщения: 02.12.2009 04:52
192168

Код:
For /F "Skip=1 Tokens=*" %%A In ('%SystemRoot%\System32\WBEM\WMIC.Exe OS Get LocalDateTime') Do (
    Set LocalDateTime=%%A
    GoTo :0
    )
:0
Set Day=%LocalDateTime:~6,2%
If Not Exist "<Путь к архивам>\*.arj" (
    Set Number=1
    GoTo :1
    )
CD "<Путь к архивам>"
For %%A In (*.arj) Do (
    Set ArchiveName=%%A
    )
Set Number=%ArchiveName:~2,1%
Set /A Number=%Number%+1
:1
"<Путь к архиватору>\Arj.Exe" a -h#"<Путь к архивам>\%Day%%Number%" SFile.ext1
Автор: GreG
Дата сообщения: 02.12.2009 08:33
All

помогите решить следующую задачу:
необходимо раз в месяц отправлять письмо на определенный адрес с определенным текстом который содержит число которое долно быть ежемесячно увеличено на рандомное значение от 150 до 200.
Автор: drksrv
Дата сообщения: 02.12.2009 10:08
А мне с моим вопросом в конце прошлой странички может кто то что то посоветует ? :\
Спасибо.
Автор: BumerangII
Дата сообщения: 02.12.2009 11:59
Подскажите, возможно ли реализовать при помощи bat-файла чтение текстового файла, который имеет построчную структуры, поиск в нем определенной строки и изменение её.
Автор: 192168
Дата сообщения: 02.12.2009 12:24
BVV63

ОК, спасибо.
По готовности сообщу результаты.
Автор: s1nfrompvl
Дата сообщения: 02.12.2009 15:49
GreG
попробуй покопаться в blat. это консольная утилита для отправки почты.


Цитата:
Подскажите, возможно ли реализовать при помощи bat-файла чтение текстового файла, который имеет построчную структуры, поиск в нем определенной строки и изменение её.

да.. есть много утилит.. мне sed помогла.. линку смотри в шапке в разделе "Полезные утилиты"...
Автор: wolf0425
Дата сообщения: 02.12.2009 15:52
BumerangII поиск и изменение строк в текстовом файле по заданному шаблону - типовая задача для sed (это консольная утилита такая).
А вообще, внятно описываешь что на что надо заменить - наверняка помогут с составлением скрипта замены.
Автор: BumerangII
Дата сообщения: 02.12.2009 16:24
wolf0425

Цитата:
поиск и изменение строк в текстовом файле по заданному шаблону - типовая задача для sed (это консольная утилита такая).
А вообще, внятно описываешь что на что надо заменить - наверняка помогут с составлением скрипта замены.


Описываю, есть необходимость сформировать правильный sysprep.ini, задав вопросы пользователю, а затем запустить sysprep.
Хочу использовать в качестве шаблона готовый файл в котором меняются только некоторые параметры.
Цель не использовать сторонних утилит - только стандартные утилиты, представленные в свеже установленной системе.

Автор: NIKZZZZ
Дата сообщения: 02.12.2009 16:39
BumerangII

Цитата:
Цель не использовать сторонних утилит

Если шаблон простой и строки не содержат спец. символов, это достаточно просто, приведи пример.



Добавлено:
Исходный sysprep.ini жесткий, или его можно задать самому?
Автор: wolf0425
Дата сообщения: 02.12.2009 22:47
BumerangII да там вроде все просто - засовываешь sysprep.ini в for, нужным ключикам подменяешь параметры, остальные печатаешь как есть.
как-то так:

Код: @echo off

(for /f "tokens=1* delims==" %%a in (sysprep.ini) do (
    if .%%b equ . (echo %%a
    ) else if %%a equ TargetPath (echo %%a=c:\xp
    ) else if %%a equ JoinWorkgroup (echo %%a=MyGroup
    ) else echo %%a=%%b
)) 1>sysprep.new
Автор: slay1212
Дата сообщения: 03.12.2009 08:58
Задача такая - изменить локальную политику безопасности из бат. Делаю
secedit /export /cfg <Мой файл>.txt
Потом загружаю.
secedit /configure /cfg <Мой файл>.txt /db secsetup.sdb /verbose
Проблема - текст в юникоде. Чем лучше обрабатывать юникод ? надо найти и заменить несколько параметров.
Автор: ZidanCo
Дата сообщения: 03.12.2009 12:26
Здравствуйте , задачка вроде простая , а как сделать - не знаю.
Необходимо сделать bat файл , который проверяет первый файл в папке - и удалял остальные файлы подходящие по расширению с первым.
Автор: BVV63
Дата сообщения: 03.12.2009 12:41
ZidanCo
Первый файл по алфавиту или по дате создания?
Автор: ZidanCo
Дата сообщения: 03.12.2009 13:00
Хмм не знаю , не уточнял, сказали просто первый файл который находится в папке .
Автор: NIKZZZZ
Дата сообщения: 03.12.2009 13:13
BumerangII
А не проще ли полностью создать sysprep.ini батником?
Автор: 192168
Дата сообщения: 03.12.2009 16:11
Батник запускается с параметром - именем файла.
Как проверить соответствие имени файла-параметра заранее заданной маске?



Добавлено:
Хотелось:

Set P = PartOfName
Set F = %1:~-4.6%
If -%F% == -%PartOfName% goto Proc

roc
...

Не получилось выделить часть имени файла из %1.
Автор: GORA2
Дата сообщения: 03.12.2009 16:29
192168

Код: Set P=PartOfName
Set F=%1
Set F=%F:~-4,6%
If %F%==%PartOfName% goto Proc

roc
Автор: cluster
Дата сообщения: 03.12.2009 16:33
Не подскажете, а FTP.exe понимает русские каталоги?
Н-р: lcd c:\обмен
Автор: SANIOK_AV
Дата сообщения: 03.12.2009 16:50
Докрого времени суток!
Ситуация такая:
есть к примеру каталог C:\1\
в нём есть несколько подкаталогов...
нужно из каталога C:\1\ скопировать в каталог C:\2\ подкаталог, который самый свежий по дате создания...
Подскажите пожалуйста как это мож но реализовать?
Заранее благодарен!!!
Автор: 192168
Дата сообщения: 03.12.2009 16:59
GORA2

%F% отображается как ~-4,6


Автор: GORA2
Дата сообщения: 03.12.2009 17:09
192168
Дык в переменной %1 (которая у Вас должна быть передана в командной строке в этот файл) у Вас что то есть? Если нет, то так и должно быть.
Автор: mugil_cephalus
Дата сообщения: 03.12.2009 17:51
кто подскажет, какой синтаксис у hstart?

такой -


Код: hstart /NOCONSOLE "c:\file.bat arg1 arg2 arg3"
Автор: 01MDM
Дата сообщения: 03.12.2009 17:59
mugil_cephalus

Это параметры батника, а не hstart.
Просто выполни `hstart' без аргументов.
Автор: mugil_cephalus
Дата сообщения: 03.12.2009 18:13
01MDM
так мне нужно hstart'om запустить батник с аргументами батника (вот в чем вопрос)
в синтаксисе: писать дефис или нет?

readme:

Цитата:
Don't forget about quotes when using complex COMMAND LINES:

hstart.exe /NOCONSOLE /D="C:\Dir 1" ""C:\Dir 2\test.bat" -param"


я этот код
Цитата:
Код:hstart /NOCONSOLE "c:\file.bat -arg1 -arg2 -arg3"
"вставлю" в *.job
Автор: ZidanCo
Дата сообщения: 03.12.2009 18:19
Извините , а не знаете как с моей задачкой на 90 странице справиться?
Автор: mugil_cephalus
Дата сообщения: 03.12.2009 19:36
ZidanCo
попробуй на тестовой папке


Код: @echo off
if "_%1" neq "_" goto:arg1
for /f "tokens=* delims=" %%i in ('dir /b /o:n "pathtofolder"') do call:_1 "%%i" & goto:restart

:_1
set "name=%~1"
goto:eof

:arg1
set "ext=%~x1"
del /q pathtofolder\*.%ext%
goto:eof

:restart
cmd /c %0 "%name%"
Автор: 01MDM
Дата сообщения: 03.12.2009 19:49
mugil_cephalus
Hstart это пускалка. Ему все равно какие аргументы у батника.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

Предыдущая тема: во вкладке автозагрузка


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