1

我有一个名为 txtfile.txt 的文本文件,其中包含以下内容:

x=0
y=0
z=10

我想用 y 的步骤从 -x 到 +x 运行一个 for 循环来搜索 z 并将数字 (x) 添加到其中。(我只想更改数字我该怎么做?它遵循“z =”,仅此而已。它在一个文本文件中,我想在 txt 文件中更改它而没有其他任何东西

谢谢

4

3 回答 3

0

将此文件包含到您的脚本中,然后在脚本中您将拥有变量 $x、$y 和 $z

于 2013-11-14T13:44:11.550 回答
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
于 2013-11-14T14:39:55.187 回答
0

您可以在批处理程序中包含这一行:

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

在此行之后,txtfile.txt 中定义的变量被分配了它们的值。

关于您请求的第二部分,我不明白“搜索 z 并将数字 (x) 添加到其中”是什么意思。你想在哪里“搜索z”?是谁”?请修改您的问题以包含示例。

于 2013-11-14T14:38:34.697 回答