バッチスクリプトでtxtファイルを編集したい。私はオンラインで見て、いくつかの例を自分のニーズに合わせて調整しようとしました。しかし、私にはプログラミングのスキルがなく、プログラムを機能させることができませんでした。
これが私の問題です。ファイルのある時点でこれを含むtxtファイルがあります:
Subcase Mode Buckling Eigenvalue
321043 1 2.124238E+00
321043 2 2.169874E+00
321043 3 2.628187E+00
321043 4 2.832127E+00
321043 5 2.968359E+00
321043 6 3.131774E+00
次のように変更したいと思います。
R E A L E I G E N V A L U E S
Subcase Mode Buckling Eigenvalue
321043 1 2.630623E-01
321043 2 2.676471E-01
321043 3 2.982211E-01
したがって、基本的には、「Subcase Mode Buckling Eigenvalue」の 2 行前に「REALEIGENVALUE S」を追加しますが、前の行の内容は削除しません。つまり、2 つの新しい行を追加します。
次のことを試しましたが、最初の 8 行のみが新しいテキスト ファイルに出力されました。
@echo off
for /f "tokens=* delims=" %%a in (le_panel_7_cut down_i.out) do call :Change "%%a"
exit /b
:Change
set Text=%~1
if "%Text%"=="Subcase Mode Buckling Eigenvalue" (
(echo R E A L E I G E N V A L U E S &echo[ &echo[ &echo[Subcase Mode Buckling Eigenvalue)>> D:\FEA\newfile.txt
) else (
(echo %Text%)>> D:\FEA\newfile.out
)
exit /b
このような別のスクリプトも試しましたが、これも機能しませんでした。
@echo on
SETLOCAL=ENABLEDELAYEDEXPANSION
for /f "delims=" %%a in (le_panel_7_cut_down_i.out) do (
set foo=%%a
if !foo!=="Subcase Mode Buckling Eigenvalue" set foo=(
echo R E A L E I G E N V A L U E S &echo[ &echo[ &echo[Subcase Mode Buckling Eigenvalue)
echo !foo! >> file3.txt)
誰かが私のスクリプトを修正してくれたら、大歓迎です。よろしくイアン