找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28508|回复: 10

[文本处理] [已解决]批处理如何实现在txt文本末尾插入特定内容,如果特定内容已存在则进行替换?

[复制链接]
发表于 2016-6-29 14:49:10 | 显示全部楼层 |阅读模式
本帖最后由 tengfly001 于 2016-6-30 10:37 编辑

请教个问大神?
例如,文件1.txt内容:
Language=CHN
UpdateSystem=0

1.文件中无时间段
我想增加一个时间段:time=201606291025,这个时间要通过批处理获得当前时间,处理后1.txt变为:
Language=CHN
UpdateSystem=0
time=201606291025

2.文件中有时间段,如何根据当前时间替换原有时间?

评分

参与人数 1PB -2 收起 理由
pcl_test -2 发帖前先使用论坛搜索

查看全部评分

发表于 2016-6-29 14:55:06 | 显示全部楼层
这可以参考我发的那问题 稍微改改就能用
 楼主| 发表于 2016-6-29 15:08:49 | 显示全部楼层
回复 2# ridora

谢谢
看了下你的帖子,好像问题依然还没有处理
发表于 2016-6-29 22:49:55 | 显示全部楼层
  1. //&cls&cscript -nologo -e:jscript "%~f0" "1.txt"&pause&exit
  2. function Add(i){return i<10?"0"+i:i;}
  3. var now = new Date();
  4. var dt = now.getFullYear()+Add((now.getMonth()+1))+
  5.     Add(now.getDate())+
  6.         Add(now.getHours())+
  7.             Add(now.getMinutes());
  8. var fso = new ActiveXObject('Scripting.Filesystemobject');
  9. var file = WSH.Arguments(0);
  10. var f = fso.OpenTextFile(file, 1);
  11. var txt = f.ReadAll()+'\r\n';
  12. var txt = /time=[^\r\n]+\s*$/.test(txt)?txt.replace(/(time=)[^\r\n]+\s*$/, '$1'+dt+'\r\n'):txt.replace(/[\r\n]*$/, '\r\n')+'time='+dt+'\r\n';
  13. f.Close();
  14. var f = fso.OpenTextFile(file, 2);
  15. f.Write(txt);
  16. f.Close();
  17. WSH.echo('Done');
复制代码
发表于 2016-6-29 22:57:01 | 显示全部楼层
我这个只能在白天10点到晚上12之前可以用。
只要是获取时间的部分,有问题。
可再请高手指点。

  1. @echo off
  2. set now=%date:~-10,4%%date:~-5,2%%date:~-2%%time:~0,2%%time:~3,2%%time:~6,2%
  3. echo time=%now%>>1.txt
  4. pause
复制代码
发表于 2016-6-29 22:59:59 | 显示全部楼层
1_AddTime.bat
  1. @echo off
  2. findstr "time=" "1.txt" >nul 2>&1 && goto :eof
  3. for /f %%i in ('powershell -c "Get-Date -uformat '%%Y%%m%%d%%H%%M'"') do (
  4.     set "Now=%%i"
  5. )
  6. >>"1.txt" echo time=%Now%
复制代码
发表于 2016-6-29 23:03:28 | 显示全部楼层
看不懂 L4的内容。
发表于 2016-6-29 23:19:06 | 显示全部楼层
回复 5# jrx401


可以用set命令的字符串替换功能把小时里面那个空格替换成0,参考:
http://bbs.bathome.net/thread-30336-1-1.html
 楼主| 发表于 2016-6-30 10:32:31 | 显示全部楼层
版主(L4)过软厉害,通配符匹配我还有待学习
 楼主| 发表于 2016-6-30 10:33:08 | 显示全部楼层
回复 4# pcl_test


    谢谢了,我在学习学习
发表于 2016-7-5 21:14:17 | 显示全部楼层

  1. set/a dat=%date:/=% 2>nul
  2. set/a tim=%time::=% 2>nul
  3. >>1.txt echo,%dat%%tim:~,-2%
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 11:43 , Processed in 0.022514 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表