我有一个名为txtfile.txt的文本文件,它里面有例如以下内容:
x=0
y=0
z=10
我想从-x到+ x运行for循环,步长为y以搜索z并向其添加数字(x)。 (我只是想改变这个数字 我怎么能这样做呢?它跟随“z =”而已。它在一个文本文件中,我想在没有任何其他内容的情况下在txt文件中更改
感谢
答案 0 :(得分:0)
将此文件包含在您的脚本中,然后在脚本中包含变量$ x,$ y和$ z
答案 1 :(得分:0)
您可以在批处理程序中包含此行:
for /F "delims=" %%a in (txtfile.txt) do set %%a
在此行之后,txtfile.txt中定义的变量将赋值。
关于请求的第二部分,我不明白“搜索z并向其添加数字(x)”的含义。你想在哪里“搜索z”?是谁呀”?请修改您的问题以包含示例。
答案 2 :(得分: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