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

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

Автор: Nuke142
Дата сообщения: 20.09.2008 11:35
А как организовать такое ?
Нужно батником запустить 1.exe
потом клиент делает какие-то операции и самостоятельно(без участия батника) запускает какую-то свою определенную программу 2.exe
вот нужно чтобы батник отслеживал появление в процессах 2.exe и запускал 3.exe
Автор: king_stiven
Дата сообщения: 20.09.2008 12:29
RaP1D

Код: @echo off
for /f "usebackq tokens=*" %%c in ("about.txt") do (
echo "%%c",>> about1.txt
)
Автор: Nuke142
Дата сообщения: 20.09.2008 14:45
спасибо, еще вопрос.
как сделать чтобы батник отследил когда клиент нажмет сочетание клавиш и выполнится нужное действие ?
Автор: Elroir
Дата сообщения: 20.09.2008 15:53
Nuke142

Цитата:
как сделать чтобы батник отследил когда клиент нажмет сочетание клавиш и выполнится нужное действие ?

Никак. Батником это сделать невозможно.
Автор: XXLIvan
Дата сообщения: 21.09.2008 15:36
Уважаемые!
Вот такая у меня проблема: есть текстовый файл, внутри которого есть текст:
FK|2008.03|СЭД|1.33.X.5||
FROM|****|**************|
TO|*****|*******************|
VLS|1|18.09.2008|17.09.2008|***************|
Задача: необходимо выкусить дату выделенным жирным шрифтом и переместить этот файл в имеющуюся папку с выкушенной датой, но имеющей формат DDMMYYYY.
P.S. Стуктура файла постоянная, т.е. дата всегда находится на 4 строке, с 7-го символа.


Автор: 01MDM
Дата сообщения: 21.09.2008 17:14
XXLIvan

Не совсем понял понятие "выкусить":

Код:
@echo off
setlocal

for /f "skip=3 tokens=3 delims=|" %%i in (1.txt) do set "folder=%%i" && goto:1
:1
set "folder=%folder:.=%"
move 1.txt "%folder%"
Автор: RaP1D
Дата сообщения: 21.09.2008 18:55
king_stiven
Огромное спасибо! Работает как часы...
Автор: SageNS
Дата сообщения: 21.09.2008 19:14
Подскажите, плз, как батником можно решить следующую задачу: Есть ini-файл вида
Maximized = Yes
mssccprj = *.sln
OutputHeight = 150
Position_Toolbar = -2, 46, 475, 79, 1280, 1024
PrjWidth = 543
Как батником заменитьзначение OutputHeight на то, которое мне нужно?
Автор: king_stiven
Дата сообщения: 21.09.2008 21:10
SageNS
Несколько способов можно, например ориентируясь на строку "OutputHeight = "

Код: @Echo Off
set /p OutputHeight=Enter OutputHeight :
for /f "usebackq tokens=*" %%c in ("1.txt") do (
echo %%c | FIND /i "OutputHeight = "
if errorlevel 1 (
echo %%c>> 2.txt
) else (
echo OutputHeight = %OutputHeight%>> 2.txt
)
)
del 1.txt
ren 2.txt 1.txt
Автор: 01MDM
Дата сообщения: 21.09.2008 21:11
SageNS
с помощью sed:

Код:
@echo off
setlocal
set "new=202"
sed -i "s;\(OutputHeight = \)\(.*\);\1%new%;g" test.ini
Автор: SageNS
Дата сообщения: 21.09.2008 21:51
Сделал с помощью setini, Спасибо

Добавлено:
Подскажите, плз, еще как в строке "\sgds\dasf\dfsh.ini"(именно такой) убрать имя файла
Автор: Nagual
Дата сообщения: 21.09.2008 22:46
01MDM
sed, конечно, великолепна, однако перевод строки на выходе — никсовый LF
как известно, в windows стандарт — CR+LF
неизвестно, насколько корректно такой файл будет читаться другими программами
интересно, неужели никто не открывает конечный файл простым блокнотом?
Автор: SageNS
Дата сообщения: 21.09.2008 23:08
Разобрался

Код:
set directory=C:\sagaasha\adha\adhfa.ini
for /f "tokens=*" %%i in ('echo %directory%') do (
set direct=%%~pi
)

echo %direct%
Автор: AZJIO
Дата сообщения: 22.09.2008 06:28
Подскажите, почему команда DEL иногда сбоит, при каких то условиях если не находит файл, то удаляет всё с диска на котором должен быть этот файл.
Автор: XXLIvan
Дата сообщения: 22.09.2008 06:49
01MDM
Прошу прощения за нечетко сформулированную задачу.
Ситуация такая: каждый рабочий день я получаю текстовый файл с произвольный именем, но с раширением *.vb?. Требуется: не указывая батнику конкретного имени этого файла (только расширение (*.vb?), определить в нем дату в формате DD.MM.YYYY, находящуюся на 4 строке, с 7-го символа, а затем данный файл переместить в папку с этой датой, имеющей формат DDMMYYYY.
Автор: 01MDM
Дата сообщения: 22.09.2008 08:27
Nagual

Цитата:
неужели никто не открывает конечный файл простым блокнотом?

Ого, я и правда никогда не открывал в блокноте, a в far'e все выглядит правильно.

XXLIvan

Цитата:
Требуется: не указывая батнику конкретного имени этого файла (только расширение (*.vb?)

Попробуй:

Код:
@echo off
setlocal

for %%i in (*.vb) do call:1 "%%i"
goto:eof

:1
for /f "skip=3 tokens=3 delims=|" %%i in ('type %1') do set "folder=%%i" && goto:2

:2
md %folder:.=% 2>nul
move %1 %folder:.=%
Автор: XXLIvan
Дата сообщения: 22.09.2008 09:06
01MDM

Цитата:
Попробуй:

Спасибо за помощь...
Автор: 01MDM
Дата сообщения: 22.09.2008 14:09
XXLIvan

Цитата:
Спасибо за помощь...


Все нормально? Можно легко переделать и под 7-ой символ.

Автор: XXLIvan
Дата сообщения: 23.09.2008 04:58
01MDM
Да, все работает замечательно... Еще раз спасибо за помощь...
Автор: Cheerful_a_bear
Дата сообщения: 23.09.2008 12:48
Народ сил нет ужу подскажите как в папке с подпапками с не ограниченной глубиной найти все файлы с расширением txt и скопировать его в другую папку...

Заранее спасибо...
Автор: Elroir
Дата сообщения: 23.09.2008 13:36
Cheerful_a_bear

Цитата:
как в папке с подпапками с не ограниченной глубиной найти все файлы с расширением txt и скопировать его в другую папку

Предположим, что "папка с подпапками" - это c:\temp, a скопировать нужно в d:\temp

Код:
@echo off
for /r "c:\temp" %%a in (*.txt) do copy /y "%%a" "d:\temp\">nul
Автор: GGS
Дата сообщения: 23.09.2008 14:19
Подкиньте идею.
Программе на флэшке надо передать в качестве параметра инфу о текущем разрешении экрана.
Но... компы в которые втыкается флэшка разные, видео адаптеры и мониторы тоже.
Не могу придумать откуда получить нужную инфу, как это красиво извлечь из системы?
Автор: winvik
Дата сообщения: 23.09.2008 14:50
подскажите пожалуйста... bat-файл хочу поместить в автозагрузку, но его запуск нужно производить, к примеру, через 5 мин после загрузки системы (когда отработают доменные скрипты и комп полностью загрузится). Как это сделать? Можно ли в самом bat-файле написать задержку запуска и указать время?
Автор: Nagual
Дата сообщения: 23.09.2008 15:38
winvik
юзай планировщик, ссылку на приличную статью приводил чуть ранее, можешь им отследить отсутствие (наличие) запущенного процесса и после этого выполнять задачу, в общем,
Автор: king_stiven
Дата сообщения: 23.09.2008 16:43
winvik

Цитата:
Можно ли в самом bat-файле написать задержку запуска и указать время?

В шапке

Цитата:
Альтернативные решения »


Цитата:
Делаем паузу в командном файле стандартными средствами Windows

Автор: igor_andreev
Дата сообщения: 23.09.2008 16:44
GGS

Код:
@ECHO OFF

FOR /F "TOKENS=2,10-11" %%A IN ('CMDOW.EXE /p') DO IF "%%A"=="0" (SET "WIDTH=%%B" & SET "HEIGHT=%%C")
ECHO Current computer resolution is %WIDTH%x%HEIGHT%
Автор: Nagual
Дата сообщения: 23.09.2008 23:30
AZJIO
проверь название сценария
кинь сюда пример, как удаляешь
Автор: Solenaja
Дата сообщения: 23.09.2008 23:48
king_stiven

Цитата:
Не понятна закономерность создания каталогов.

иерархическая:
корневой каталог
01 - подгруппа, входящая в корневой каталог
01-1 - подгруппа, входящая в подгруппу 01
01-1-01 - подгруппа, входящая в подгруппу 01-1
01-1-01-01 - подгруппа, входящая в подгруппу 01-1-01
01-1-01-02 - подгруппа, входящая в подгруппу 01-1-01
01-1-01-03 - подгруппа, входящая в подгруппу 01-1-01
02
02-01
02-01-01
02-01-02
02-01-02-01
02-01-02-02
и т.д.
исходный файл с группами/подгруппами - любой текстовыый файл или excel

KapralBel

Цитата:
И как часто это надо делать?

не часто, но если учесть, что кол-во групп/подгрупп (папок) составляет порядка 11 000 то руками - ой как грустно будет
Автор: igor_andreev
Дата сообщения: 24.09.2008 00:20
Solenaja

Цитата:
02-01-01
02-01-02
02-01-02-01
02-01-02-02
и т.д.

Честно говоря, я например закономерность все равно не понял Куда делись 02-1,02-1-01...
А есть уже папка с созданной такой структурой 11-ти тыщщ поддиректорий? Тогда можешь просто, будучи в корневой папке, записать список папок в файл

Код:
for /r /d %a in (*) do echo "%~fa">>c:\dirroot.txt
Автор: Nagual
Дата сообщения: 24.09.2008 01:14
Solenaja
Код:
for /l %%a in (1,1,9) do ^
for
/l %%b in (1,1,9) do ^
for
/l %%c in (1,1,9) do ^
for
/l %%d in (1,1,9) do ^
for
/l %%e in (1,1,9) do ^
for
/l %%f in (1,1,9) do ^
for
/l %%g in (1,1,9) do ^
for
/l %%h in (1,1,9) do (
@echo
md 0%%a\0%%b\0%%c\0%%d\0%%e\0%%f\0%%g\0%%h)
хватит глубины вложенности 8?
если нет, дописывай еще )))

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


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