作者:新空教程整理 日期:2010年01月29日
批量更改文本文件内容的方法:因为各种原因,有时需要批量更改文件文件中的内容,比如将“电脑”改成“计算机”,下面给出一个简单的方法。
一、批处理方法:@echo offfor /f "delims=" %%i in ('dir /s/b *.txt') do
批量更改文本文件内容的方法:
因为各种原因,有时需要批量更改文件文件中的内容,比如将“电脑”改成“计算机”,
下面给出一个简单的方法。
一、批处理方法:
取名字大全2013@echo off
for /f "delims=" %%i in ('dir /s/b *.txt') do (
for /f "delims=" %%a in ('type "%%~fi"') do (
set "foo=%%a"
call,set foo=%%foo:电脑=计算机%%
call,echo/%%foo%%>>"%%~fi._"
)
move "%%~fi._" "%%~fi"
上海外地牌照限行)
exit
将上面内容拷入文本文件,然后更改成“bat”文件,双击执行即可。
二、vb脚本的方法:
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run "cmd /c dir /s/b *.txt > ",vbHide
Wscript.Sleep 1000
sFile = ""
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = objFSO.OpenTextFile(sFile,1)
Do While Not oFile.AtEndOfStream
strLine = oFile.ReadLine
If Len(strLine) > 0 Then
Set File = objFSO.OpenTextFile(strLine, 1)
aryLines = File.ReadAll
File.Close
aryLines = Replace(aryLines, "电脑", "计算机")
Set File = objFSO.OpenTextFile(strLine, 2)
File.Write aryLines
File.Close
End If
Loop最强大脑第四季王昱珩
oFile.Close
objFSO.DeleteFile sFile
Set objFSO = Nothing
保存扩展名为VBS,放到TXT文件所在目录,双击执行。
如何批量修改TXT文件中指定字符?
[此问题的推荐答案] 用批处理就可以,把原来的txt命名为1.txt,下面代码保存为bat运行后2.txt就是你想要的文件,有问题hi我 @echo off setlocal enabledelayedexpansion set /a count=1 for /F "tokens=*" %%i in (1.txt) do call :. "%%i" pause exit :. set work=%1 set work=%work:1=1(!count!)% set work=%work:<=^<% set work=%work:>=^>% echo %work:~1,-1%>& set /a count+=1 |
如何用批处理结合VBS实现批量替换修改txt文本
霍建华和陈乔恩悬赏分:20 - 解决时间:2009-11-22 21:21 迢迢牵牛星古诗意思
曝黄渤喜得爱子我这D:\1\目录里有很多TXT文档,1.,.
里面有2处内容需要替换:
“name=1”替换成“name=19”,
还有“path=e:game”替换成“path=e:\game”
因为bat很难实现对txt的替换,我这有2个VBS分别替换2处,要运行2个VBS才可以替换成功1个txt文本,问题是运行1次bat不可以打开2个vbs,而且郁闷的是要指定路径D:\,这样每次要修改,有没有可以结合bat和vbs同时批量替换2处的,谢谢!下面是我的代码:
Set FSO = Nothing
Dim strFile: strFile = "D:\"
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim objFile: Set objFile = FSO.OpenTextFile(strFile)
Dim strContent: strContent = objFile.Readall
objFile.Close
Dim objRegEx: Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Global = True
objRegEx.IgnoreCase = True
objRegEx.Pattern = "path=e:game"
Dim objNewText: objNewText = objRegEx.Replace(strContent,"path=e:\game")
Dim objTextFile: Set objTextFile = FSO.CreateTextFile("D:\")
objTextFile.Write objNewText
objTextFile.Close
Set FSO = Nothing
提问者: 1200729491 - 一级
最佳答案
突然来了点灵感,给你来一行另类的。
注意,代码只有一行。。
批处理 放在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","name=19"),"path=e:game","path=e:\game"))(window.close)&& move "wind-%%~1" "%%~1"
发布评论