我需要创建一个批处理文件,用它来修改文件的内容。
举个例子:
Testing.txt 文件包含一行 Description=MAN_Human 更改为 Description=MAN_Human_V2
只需在 MAN 的末尾添加 (_V2)。
这样当我们打开文件时,描述名称就变成了 MAN_Human_V2 而不是仅仅是 MAN。
我有多个文件需要处理,请帮忙。
我需要创建一个批处理文件,用它来修改文件的内容。
举个例子:
Testing.txt 文件包含一行 Description=MAN_Human 更改为 Description=MAN_Human_V2
只需在 MAN 的末尾添加 (_V2)。
这样当我们打开文件时,描述名称就变成了 MAN_Human_V2 而不是仅仅是 MAN。
我有多个文件需要处理,请帮忙。
使用for
循环遍历文件的每一行,当您找到带有“描述”的行时,将“_V2”附加到输出中。
@echo off
for %%f in (*.txt) do (
for /f "tokens=1* delims=:" %%g in ('type "%%f" ^| findstr /n /v "BoGuSsTrInG"') do (
if "%%hx"=="x" (
echo.>>"%%~nf.newtxt"
) else (
for /f "tokens=1* delims==" %%i in ('echo.%%h') do (
if "%%i"=="Description" (
echo.%%i=%%j_V2>>"%%~nf.newtxt"
) else (
if "%%jx"=="x" (
echo.%%i>>"%%~nf.newtxt"
) else (
echo.%%i=%%j>>"%%~nf.newtxt"
)
)
)
)
)
)
ren *.txt *.oldtxt
ren *.newtxt *.txt
sed
(一个Unix实用程序 - 在谷歌上搜索 sed windows
)。sed -i 's/Description=MAN_Human/Description=MAN_Human_V2/' test.txt
-i
的意思是原地替换,即将结果写回同一文件(而不是显示在屏幕上)。第二个参数表示替换...为...,其余部分是要执行此操作的一个或多个文件。请搜索 man sed
以获取更多信息。