标题: [求助]如何修改一个文件中指定行的内容?
[打印本页]
作者: zsldownload
时间: 2008-1-23 14:08
标题: [求助]如何修改一个文件中指定行的内容?
修改D:\startinfo.txt文件中第2行,改为当前时间,保留其他行的信息不变。
请问如何通过批处理实现?谢谢!!!
作者: HAT
时间: 2008-1-23 15:10
@echo off
set SrcFile=C:\test\a.txt
set DstFile=C:\test\b.txt
set row=0
>"%DstFile%" type nul
setlocal enabledelayedexpansion
for /f "tokens=1* delims=" %%a in ('findstr .* "%SrcFile%"') do (
set /a row+=1
if !row! equ 2 (
>>"%DstFile%" echo %time%
) else (
>>"%DstFile%" echo %%a
)
)
作者: qianmo717
时间: 2008-1-23 16:51
楼上的朋友你好,上面用这句for /f "tokens=1* delims=" %%a in ('findstr .* "%SrcFile%"') 而不是用for /f "tokens=1* delims=" %%a in (C:\test\a.txt)这是为什么
作者: zsldownload
时间: 2008-1-25 16:48
Quote: |
Originally posted by HAT at 2008-1-23 03:10 PM:
[code]
@echo off
set SrcFile=C:\test\a.txt
set DstFile=C:\test\b.txt
set row=0
>"%DstFile%" type nul
setlocal enabledelayedexpansion
for /f "tokens=1* delims=" %%a in ('findstr .* "%SrcFile%"') do (
set /a row+=1
if !row! equ 2 (
>>"%DstFile%" echo %time%
) else (
>>"%DstFile%" echo %%a
)
) |
|
如果行号通过变量设置,怎么判断?
@set _TIME_LINE=2
if !row! equ %_TIME_LINE% echo OK.
可是怎么都是不能成功。
请教!
作者: zaa
时间: 2008-1-25 18:43
您看看降可不可以 :)
--
@echo off
set _TIME_LINE=2
@echo set SrcFile=C:\test\a.txt >> run.bat
@echo set DstFile=C:\test\b.txt >> run.bat
@echo set row=0 >> run.bat
@echo >"%DstFile%" type nul >> run.bat
@echo setlocal enabledelayedexpansion >> run.bat
@echo for /f "tokens=1* delims=" %%a in ('findstr .* "%SrcFile%"') do ( >> run.bat
@echo set /a row+=1 >> run.bat
@echo if !row! equ %_TIME_LINE% ( >> run.bat
@echo >>"%DstFile%" echo %time% >> run.bat
@echo ) else ( >> run.bat
@echo >>"%DstFile%" echo %%a >> run.bat
@echo ) >> run.bat
@echo ) >> run.bat
call run.bat
del run.bat
[
Last edited by zaa on 2008-1-25 at 06:47 PM ]
作者: zsldownload
时间: 2008-1-25 19:29
已经搞定.谢谢!
[
Last edited by zsldownload on 2008-1-25 at 07:36 PM ]