怎么用bat 或者 vbs 修改文件内容 如何用批处理(VBS也可)查找+修改文本文件的内容
@echo offsetlocal enabledelayedexpansionfor /f "tokens=*" %%i in ('dir /a-d /b *.txt') do (set m=0for /f "delims=" %%a in ('find /c /v "" ^<"%%i"') do set n=%%aecho 0>tempf>nulfor /f "delims=" %%j in (%%i) do (set /a m+=1set str=%%jif !m!==1 set str=!str:3=9!if !m! gtr 1 (if !m! lss !n! (set str=!str:3=!set str=!str:4=!))if !m!==!n! set str=!str:4=8!if not "!str!"=="" echo !str!>>tempf)move /y tempf %%i)
怎么用bat命令修改文件名~
使用copy命令即可在D:\1下新建一个文本文档,里面输入"start",点“另存为”文件名“cmd.bat”。打开“cmd.bat”,出现一个黑框框,在里面输入:copy 1.txt 1.jpg 然后回车。记得,注意空格,copy空格1.txt空格1.jpg,就可以了。试下,满意就选我。还可以批量重命名,命令如下,把所有.txt重命名为.jpg,命令:copy *.txt *.jpg。(注意空格)其实也可以使用rename命令,但是rename命令会使原来的文件没有了,copy会保留原来的文件,可以对比使用下。rename用法:rename 1.txt 1jpg (照样要空格)
批处理很难实现,除非借助外部命令, 所以使用VBS
不懂你的文件是什么编码的,我就当ANSI处理了
文件放在和你要处理的文件同一目录。 会生成一个新文件, 这样比较安全, 不过你可以把 new_ 去掉, 就会复盖原文件。
这样使用
cscript do.vbs
双击也是可以啦。
以下VBS代码存为 do.vbs
function ReadAsciiFile(ByVal strFileName)
ReadAsciiFile = ReadFile(strFileName, 0)
end function
function ReadFile(ByVal strFileName, ByVal numCharSet)
dim file
if objFS.FileExists(strFileName) then
set file = objFS.OpenTextFile(strFileName, 1, false, numCharSet)
dim sText
sText = file.ReadAll
ReadFile = sText
file.close
end if
set file = nothing
end function
sub String2File(ByVal strFileName, ByVal strS)
dim fileWriter
set fileWriter = objFS.CreateTextFile(strFileName, True, false)
fileWriter.Write strS
fileWriter.close
set fileWriter = nothing
end sub
dim objFS
set objFS = CreateObject("Scripting.FileSystemObject")
dim fileName
fileName = "22.txt"
dim sSub
sSub = ReadAsciiFile(fileName)
sSub = replace(sSub, "dhd", "mmmm")
String2File "new_" & fileName,sSub
wsh.echo "done"