关于cmd命令替换文本文件某一段内容?
就是我有个txt文件,里面有一行时间(小时加分钟)time=09:30,现在我想替换后面的时间为当前系统时间再加10分钟,请问有什么方法可以实现?...
就是我有个txt文件,里面有一行时间(小时加分钟)time=09:30,现在我想替换后面的时间为当前系统时间再加10分钟,请问有什么方法可以实现?
展开
2个回答
展开全部
@echo off
setlocal enabledelayedexpansion
set time=%time:~0,5%
for /f "delims=" %%i in (1.txt) do (
echo %%i|findstr /i "time"
if !errorlevel! equ 0 (echo time=%time%>>2.txt)else (echo %%i>>temp.txt))
del /q 1.txt&&move temp.txt 1.txt
将这个保存为bat文件,放在你的TXT文件同一目录。其中1.txt为你的原文件。
setlocal enabledelayedexpansion
set time=%time:~0,5%
for /f "delims=" %%i in (1.txt) do (
echo %%i|findstr /i "time"
if !errorlevel! equ 0 (echo time=%time%>>2.txt)else (echo %%i>>temp.txt))
del /q 1.txt&&move temp.txt 1.txt
将这个保存为bat文件,放在你的TXT文件同一目录。其中1.txt为你的原文件。
展开全部
@echo off&SetLocal EnableDelayedExpansion
Set hour=%Time:~,2%
Set minute=%Time:~3,2%
Set /a minute+=10
::以下代码处理两个临界点:分钟数为50-59,小时数为23
Set /a n=(minute/60)
If %n%==1 (
Set /a hour+=1 & Set /a minute%%=60
Set /a h=!hour!%%24
If !h!==0 Set hour=0
Set str=!hour!:!minute!
) Else (
Set str=%hour%:%minute%
)
::以下代码替换文本内容,假设要处理的文本为1.txt
(For /f "delims=" %%i in (1.txt) do (
echo %%i| Find /i "time=" >nul
If !errorLevel!==0 (echo time=%str%) Else (echo %%i)
))>11.txt
start 11.txt
pause
Set hour=%Time:~,2%
Set minute=%Time:~3,2%
Set /a minute+=10
::以下代码处理两个临界点:分钟数为50-59,小时数为23
Set /a n=(minute/60)
If %n%==1 (
Set /a hour+=1 & Set /a minute%%=60
Set /a h=!hour!%%24
If !h!==0 Set hour=0
Set str=!hour!:!minute!
) Else (
Set str=%hour%:%minute%
)
::以下代码替换文本内容,假设要处理的文本为1.txt
(For /f "delims=" %%i in (1.txt) do (
echo %%i| Find /i "time=" >nul
If !errorLevel!==0 (echo time=%str%) Else (echo %%i)
))>11.txt
start 11.txt
pause
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |