txtfile.txt というテキスト ファイルがあり、その中に次のようなものがあります。
x=0
y=0
z=10
-x から +x までの for ループを y のステップで実行して、z を検索し、それに数値 (x) を追加したいと考えています。(数字を変更したいだけです。これを行うにはどうすればよいですか?それは「z =」に続き、それ以上のものはありません。それはテキストファイルにあり、何もせずにtxtファイルでそれを変更したい
ありがとう
txtfile.txt というテキスト ファイルがあり、その中に次のようなものがあります。
x=0
y=0
z=10
-x から +x までの for ループを y のステップで実行して、z を検索し、それに数値 (x) を追加したいと考えています。(数字を変更したいだけです。これを行うにはどうすればよいですか?それは「z =」に続き、それ以上のものはありません。それはテキストファイルにあり、何もせずにtxtファイルでそれを変更したい
ありがとう
Batch プログラムに次の行を含めることができます。
for /F "delims=" %%a in (txtfile.txt) do set %%a
この行の後、txtfile.txt で定義された変数に値が割り当てられます。
リクエストの 2 番目の部分について、「z を検索してそれに数字 (x) を追加する」という意味がわかりません。どこで「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
このファイルをスクリプトに含めると、スクリプトに変数 $x、$y、および $z が含まれます。