我有一个名为 txtfile.txt 的文本文件,其中包含以下内容:
x=0
y=0
z=10
我想用 y 的步骤从 -x 到 +x 运行一个 for 循环来搜索 z 并将数字 (x) 添加到其中。(我只想更改数字我该怎么做?它遵循“z =”,仅此而已。它在一个文本文件中,我想在 txt 文件中更改它而没有其他任何东西
谢谢
我有一个名为 txtfile.txt 的文本文件,其中包含以下内容:
x=0
y=0
z=10
我想用 y 的步骤从 -x 到 +x 运行一个 for 循环来搜索 z 并将数字 (x) 添加到其中。(我只想更改数字我该怎么做?它遵循“z =”,仅此而已。它在一个文本文件中,我想在 txt 文件中更改它而没有其他任何东西
谢谢
将此文件包含到您的脚本中,然后在脚本中您将拥有变量 $x、$y 和 $z
尝试这个:
@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
您可以在批处理程序中包含这一行:
for /F "delims=" %%a in (txtfile.txt) do set %%a
在此行之后,txtfile.txt 中定义的变量被分配了它们的值。
关于您请求的第二部分,我不明白“搜索 z 并将数字 (x) 添加到其中”是什么意思。你想在哪里“搜索z”?是谁”?请修改您的问题以包含示例。