2013-11-14 1 views
1

У меня есть текстовый файл с именем txtfile.txt и имеет внутри него, например, следующие:ищет числа в текстовом файле и изменить его в цикл

x=0 
y=0 
z=10 

Я хочу, чтобы запустить цикл из - x to + x с шагами y для поиска z и добавления к нему числа (x). (я просто хочу, чтобы изменить номер Как я могу это сделать? Что следует «г =» и больше ничего. Он находится в текстовом файле, и я хочу, чтобы изменить это в текстовом файле без чего-либо еще

благодаря

+0

Что вы хотите делать с результатами? Вывести разные значения результата? –

+0

Я хочу, чтобы результат был как строка, но число менялось, как если бы мы взяли пример цикла от -2 до 2 с шагом 1 ответ, который я хочу получить z = 8 z = 9 z = 10 z = 11 z = 12 Я хочу, чтобы он изменил его в текстовом файле –

ответ

0

Включите этот файл в сценарий, а затем в сценарии вы будете иметь переменные $ х, $ у и $ Z

0

вы можете включить эту строку в пакетном программе:

for /F "delims=" %%a in (txtfile.txt) do set %%a 

После этого строка переменных ned в txtfile.txt имеют назначенные значения.

О второй части вашего запроса, я не понимаю, что означает «поиск z и добавление числа (x) к нему» означает. Где вы хотите «искать z»? Кто это"? Измените свой вопрос, чтобы включить пример.

0

Попробуйте это:

@echo off 
setlocal enabledelayedexpansion 

set myfile=txtfile.txt 
for /f "tokens=1,2 delims== " %%a in (%myfile%) do ( 
    if %%a EQU x set start=%%b 
    if %%a EQU y set step=%%b 
    if %%a EQU z set find=%%b 
) 

for /l %%f in (-!start!, !step!, !start!) do (
    if %%f EQU !start! (
    set /a new=!find!+!start! 
    call :FindRepl !find! !new! %myfile% 
) 
) 
exit /b 


:FindRepl 
::Adapted from DosTips batch file:: 
for /f "tokens=1,* delims=]" %%A in ('"type %3|find /n /v """') do (
    set "line=%%B" 
    if defined line (
     call set "line=echo.%%line:%~1=%~2%%" 
     for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X>>%temp%\_.tmp 
    ) ELSE echo. 
) 
Move /y %temp%\_.tmp "%3">nul 
exit /b