怎样用批处理文件替换文本文件中的字符串?
现在有个文本文件,里面的数据有一部分都是日期都是071101我想做一个批处理程序,将这个文件从某个指定位置拷贝到另一个指定位置的同时,将其中的071101全部替换为071...
现在有个文本文件,里面的数据有一部分都是日期 都是071101
我想做一个批处理程序,将这个文件从某个指定位置拷贝到另一个指定位置的同时,将其中的071101全部替换为071203。请问这种批处理程序可以实现么?
我用了一下jin_mz的程序。其中一部分确实可以替换,但是文本中其他一些信息却莫名其妙得消失了
回泥垢:
我文件的格式是这样的
XXXXXXXXXXXXXXXXX071101XXXX071101XXX XXXXXX071101XXXXXXX
一共有好几条这样的数据,在用程序修改之后
中间空格之后的的数据就全都没有了
很莫明其妙
(XXXX是其他内容)
回小楼_春雨:
你写的程序我试用了,非常感谢,现在的问题是
使用了你的程序,会在原来的文本文件后面新生成一段和我原来数据一样的数据,只是里面的日期已经被替换了。简单的说
如果我原来的文件内容是A,经过替换字符串之后的内容是B
那么用你的程序产生的文件内容就是
A
B
呵呵,这个东西已经让我焦头烂额了。 展开
我想做一个批处理程序,将这个文件从某个指定位置拷贝到另一个指定位置的同时,将其中的071101全部替换为071203。请问这种批处理程序可以实现么?
我用了一下jin_mz的程序。其中一部分确实可以替换,但是文本中其他一些信息却莫名其妙得消失了
回泥垢:
我文件的格式是这样的
XXXXXXXXXXXXXXXXX071101XXXX071101XXX XXXXXX071101XXXXXXX
一共有好几条这样的数据,在用程序修改之后
中间空格之后的的数据就全都没有了
很莫明其妙
(XXXX是其他内容)
回小楼_春雨:
你写的程序我试用了,非常感谢,现在的问题是
使用了你的程序,会在原来的文本文件后面新生成一段和我原来数据一样的数据,只是里面的日期已经被替换了。简单的说
如果我原来的文件内容是A,经过替换字符串之后的内容是B
那么用你的程序产生的文件内容就是
A
B
呵呵,这个东西已经让我焦头烂额了。 展开
展开全部
没挑战性,又没分,真不爱写
@echo off
::下面这行设置你要替换的文件名,这里是test.txt,改成你自己的
set file=test.txt
if exist result.txt del result.txt
for /f "tokens=*" %%i in (%file%) do call :begin ^"%%i^"
start notepad result.txt
goto :eof
:begin
set var=%~1
if defined var set var=%var:071101=071203%
if defined var echo %var% >> result.txt
@echo off
::下面这行设置你要替换的文件名,这里是test.txt,改成你自己的
set file=test.txt
if exist result.txt del result.txt
for /f "tokens=*" %%i in (%file%) do call :begin ^"%%i^"
start notepad result.txt
goto :eof
:begin
set var=%~1
if defined var set var=%var:071101=071203%
if defined var echo %var% >> result.txt
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题应该是个非常简单的问题,可能是你描述不清,建议你帖一部分你的源文件内容,和需要更新的内容出来.
@echo off
for /f "tokens=1* delims=:" %%a in ('findstr /n .* "a.txt"') do (
if "%%b"=="" (echo\>>b.txt) else (
setlocal enabledelayedexpansion
set "var=%%b"
set "var=!var:071101=071203!"
echo.!var!>>b.txt
endlocal
))
start b.txt
@echo off
for /f "tokens=1* delims=:" %%a in ('findstr /n .* "a.txt"') do (
if "%%b"=="" (echo\>>b.txt) else (
setlocal enabledelayedexpansion
set "var=%%b"
set "var=!var:071101=071203!"
echo.!var!>>b.txt
endlocal
))
start b.txt
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
for /f "delims=" %%i in (替换前.txt) do (
set n=%%i
call set n=%%n:071101=071203%%
call echo %%n%%>>d:\替换后.txt
)
pause
for /f "delims=" %%i in (替换前.txt) do (
set n=%%i
call set n=%%n:071101=071203%%
call echo %%n%%>>d:\替换后.txt
)
pause
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询