Цитата Miko:
что бы bat файл смотрел,если запустили test.exe - Он выполняет то что написано выше »
|
Код:
@echo off
tasklist|findstr /bic:"test.exe"&&(
for /f "tokens=1* delims=: " %%a in ('findstr /birc:" *MPP-Width:" "C:\Program Files\File.txt"') do >MPP-Width.txt echo %%b
for /f "tokens=1* delims=: " %%a in ('findstr /birc:" *MPP-Height:" "C:\Program Files\File.txt"') do >MPP-Height.txt echo %%b
)
Цитата Miko:
К примеру в File.txt указано :
"MPP-Height: 200" и "MPP-Width: 300" нужно что бы bat заменил на "MPP-Height: 300" и "MPP-Width: 400" »
|
конкретная реализация зависит от структуры и назначения файла,
но т.к. этих данных нет, наиболее общий случай:
Код:
@echo off
set L1=MPP-Height:200
set L2=MPP-Height:300
call :REPLN "c:\Program Files\File.txt" L1 L2
set L1=MPP-Width:300
set L2=MPP-Width:400
call :REPLN "c:\Program Files\File.txt" L1 L2
EXIT/B
:REPLN %file% ByRef %LineFrom% ByRef %LineTo%
::-------------------------------------------
SETLOCAL DisableDelayedExpansion
(for /f "usebackq tokens=*" %%a in ("%~1") do (set "$a=%%a"
SETLOCAL EnableDelayedExpansion
if /i "!$a!"=="!%~2!" set "$a=!%~3!"
echo !$a!
ENDLOCAL ))>"%~dpn0.tmp"
copy /y "%~dpn0.tmp" "%~1">nul&& del "%~dpn0.tmp"
ENDLOCAL& GoTo :EOF
P.S. касаемо названия темы:
1 - выполнение батником команды при наличии в системе процесса;
2 - замена строки в текстовом файле