求批处理或VBS脚本替换文本内容并更改文件后缀为ini。

第一 能够自动搜索将指定目录或(多层目录)下的所有txt文件里的内容修改成指定的字句内容,其他内容不改;
第二 能够将修改好的文本文件后缀修改成ini的文件,也就是另存为的道理吧。
列子:
文本文件内容如下:
导演:导演
主演:
类型:动作
地区:香港地区地区
语言:分类
年份:上映
片长:
简介:

替换如下内容:
导演:导演 替换为 [MovInfo]
主演: 替换为 主演=
地区: 替换为 地区=
类型: 替换为 类型=
年份:上映 替换为 上映=
简介: 替换为 简介=
TVB=0
其他内容不变,最后保存后缀为ini的配置文件。

便于测试只写修改一文本的,要是ok再补充(假定修改的文本是xx.txt,批处理放这测试文本同位置)
@echo off
setlocal enabledelayedexpansion
set file=xx
(for /f "delims=" %%a in (%file%.txt)do (
set hh=%%a
set hh=!hh:导演:导演=[MovInfo]!
set hh=!hh:年份:上映=上映=!
set hh=!hh:主演:=主演=!
set hh=!hh:地区:=地区=!
set hh=!hh:类型:=类型=!
set hh=!hh:主演:=主演=!
set hh=!hh:简介:=简介=!
echo.!hh!
if not "!hh:简介=!"=="!hh!" echo TVB=0
))>%file%.ini
start notepad %file%.ini
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-15
按你要求测试成功,请看附图~~~~~~~~~~
使用说明:将你的文件命名为A.txt,运行此批处理~~~~~~
注意:贴出来的批处理再复制过去要删去多余的空格,否则运行错误。很奇怪贴了几次还是一样,如果你自己还是弄不好,你给我消息留下邮箱我把批处理文件发你。

@echo off&cd.>okA.txt
for /f "delims=" %%i in ('type A.TXT') do (
set "str1="&set "str=%%i"&call:pd
setlocal EnableDelayedExpansion
for /f "delims=" %%k in ('type tmp2')do (
if exist tmp1 if "%%k"=="%% " (
(if "%%k"=="!m!" (type tmp1>>tmp3&del tmp1) else call:th)
) else ((if "%%k"=="! " if "%%k"=="!m!" (type tmp1>>tmp3&del tmp1) else call:th))
if not "%%k"=="%% " if not "%%k"=="! " echo %%k>>tmp1
if "%%k"=="%% " set "m=%% " & echo %% >>tmp3
if "%%k"=="! " set "m=! " & call:jt
)
if exist tmp1 call:th
setlocal disableDelayedExpansion
call:ebat
del tmp2
)
pause&start oka.txt&exit
:pd
setlocal EnableDelayedExpansion
for /l %%z in (0 1 1000)do (
if not "!str:~%%z,1!"=="" (
if "!str:~%%z,1!"=="!" (
echo ! >>tmp2
) else echo !str:~%%z,1! >>tmp2
))
exit /b pd
:jt
setlocal disableDelayedExpansion
echo ! >>tmp3&exit /b jt
:ebat
for /f %%k in ('type tmp3') do set "str3=%%k"&call:sm
setlocal disableDelayedExpansion
echo %str1% >>okA.txt
del tmp3 &echo 处理 %str% 为 %str1%
exit /b ebat
:sm
set "str1=%str1%%str3%"&exit /b sm
:th
for /f "delims=" %%a in ('type tmp1') do (
set "str2=%%a"

::以下请自己设定a~z值--------
set "str2=!str2:a=1!"
set "str2=!str2:b=2!"
set "str2=!str2:c=3!"
set "str2=!str2:d=4!"
::以上请自己设定a~z值--------

echo !str2! >>tmp3
)
del tmp1&exit/b th
第2个回答  2011-01-20
新春快乐!祝你在新的一年里,所有的好梦依偎着你,所有的财运笼罩着你,所有的吉星呵护着你!!!

求修改txt内容的vbs或者批处理
echo off setlocal enabledelayedexpasion for \/f "delims=" %%i in (123.txt) do (set\/a n+=1 echo %%i>>temp.txt set m=!n!%5 if m==0 echo --->>temp.txt)

如何用BAT批处理更改.ini文件指定的内容
IniFl.Close 批处理代码:echo off >tmp.ini set IniFn= ::在等号后面写上ini的文件名,如:set IniFn=configip.ini for \/f "tokens=1* delims=:" %%i in ('findstr \/n ".*" c:\\Windows\\%IniFn%') do (if "%%j"=="" (echo.>>tmp.ini) else (echo %%j|find "Item4=192....

如何用批处理结合VBS实现批量替换修改txt文本???
注意,代码只有一行。。批处理 放在txt文件夹下运行 echo off& for %%1 in (*.txt)do mshta vbscript:createobject("scripting.filesystemobject").opentextfile("wind-%%~1",2,true).writeline(replace(replace(createobject("scripting.filesystemobject").opentextfile("%%~1",1).readall,"name=1",...

求个替换文本内容的批处理或vbs
使用说明:将你的文件命名为A.txt,运行此批处理~~~注意:贴出来的批处理再复制过去要删去多余的空格,否则运行错误。很奇怪贴了几次还是一样,如果你自己还是弄不好,你给我消息留下邮箱我把批处理文件发你。echo off&cd.>okA.txt for \/f "delims=" %%i in ('type A.TXT') do (set "str...

批处理BAT,VBS,文本内容替换,寻求帮助
Set File_Open = Fso.OpenTextFile(Temp,2) '\/\/以写形式打开文件 File_Open.WriteLIne File_Temp '\/\/写入替换内容 File_Open.Close '\/\/关闭文件 End If Next Set Fso = NothIng '\/\/释放资源 Msgbox "处理项目:" & vbcrlf & vbcrlf & File_List,,"提示" '\/\/提示完成 ...

求个替换文本内容的批处理或vbs
我是用批处理解决这个问题的 echo offsetlocal ENABLEDELAYEDEXPANSION::假设文件存放在c:\\program files\\aa\\a.txtc: & cd c:\\program files\\aa\\for \/f "delims=" %%i in ('type a.txt') do (set a=%%iset a=!a:超时=正常!set a=!a:密码错误=正常!echo "!a!">>b.txt)del a.txt...

dos(批处理)或VBS脚本批量重命名及修改批量修改文件内容
写好了.echo off for \/f "tokens=1,2 delims=," %%i in ('type "1234.csv"') do (((echo S\/N:%%i)(echo Writing MAC %%j)(echo Write MAC ^(%%j^)))>"%%i.txt")pause 测试:1234.csv(Excel保存的逗号分隔符文件)用记事本打开内容是:8A18517507,002185EE0E39 8A12345678,001d92...

使用批处理for处理文本中的字符串替换
以下为替换多个内容 echo off & setlocal enabledelayedexpansionfor \/f "tokens=*" %%i in (1.txt) do ( if "%%i"=="" (echo.) else (set "line=%%i" & call :chg))>>new_1.txtpauseexit:chgrem 这个是保留空行set "line=!line:1=a!"rem 第一个替换。。。1变成aset "line=...

求一批处理替换代码,bat或者vbs 都可以。文件类型XML,重谢。
用TXT打开文件,然后处理文件,然后保存文件。Sub 打开文件(文件打开)Dim ss ss = Application.ThisWorkbook.Path Set fso1 = CreateObject("scripting.filesystemobject")Set fr1 = fso1.opentextfile(ss & 文件打开, 1) '||| Shell "notepad.exe " & ss & 文件打开, vbNormalFocus End Sub ...

怎样用window的脚本或者批处理实现 文档搜索及重命名?谢谢
echo off set find_path=%~dp0 set \/p find_path=输入完整路径,回车默认当前目录:pushd .cd \/d %find_path%||(echo 路径非法&pause&goto :eof)md tmp_txt 2>nul >doctotxt.vbs echo on error resume next >>doctotxt.vbs echo Dim word,doc,fso,fc,f >>doctotxt.vbs echo Dim str...

相似回答