Board logo

标题: [文本处理] 【已解决】批处理如何实现根据指定文本中是否存在指定字符串对指定文件进行重命名 [打印本页]

作者: 珠七七    时间: 2016-11-23 16:31     标题: 【已解决】批处理如何实现根据指定文本中是否存在指定字符串对指定文件进行重命名

本帖最后由 珠七七 于 2016-11-23 19:11 编辑

求助文本查找问题
本人玩游戏,在下有1个文件yerprefs.dat
这个文件决定你用哪个账号登陆这款游戏。我已经玩了两个账号。这个文件用记事本打开的话,想查找里面的文本。
比如有文本34ea1f9c的话,就把old.dat重命名为yerprefs.dat,如果有文本4b2a7eeq的话,就把new.dat重命名为yerprefs.dat来实现互换账号。
  1. @echo off
  2. echo  判断yerprefs.dat是否存在。
  3. set path=C:\Users\James\Documents
  4. cd %path%
  5. if exist yerprefs.dat (
  6. echo "已经存在此文件"
  7. //思路到这里断了。
  8. ) else (
  9. echo "不存在此文件"
  10. pause
  11. )
复制代码
本人写以上代码粗略写了框架,但不知道批处理是否能用记事本的方式打开yerprefs.dat这个文件并查找对应的内容。
请各位高手指教,或者发一下相关教程。百度或者在坛论都找不到相关的资料。非常感谢!
作者: 珠七七    时间: 2016-11-23 16:52

这管理是傻逼吗?没认真看我说了什么吗?虽然我不在乎PB是什么,但这也太坑了吧。
作者: Blitz    时间: 2016-11-23 17:54

  1. @echo off
  2. cd C:\Users\James\Documents
  3. type yerprefs.dat|findstr "34ea1f9c">nul
  4. if %errorlevel%==0 (ren old.dat yerprefs.dat)
  5. type yerprefs.dat|findstr "4b2a7eeq">nul
  6. if %errorlevel%==0 (ren new.dat yerprefs.dat)
  7. pause
复制代码
但是我怕这样会重名
作者: 珠七七    时间: 2016-11-23 19:10

回复 3# Blitz


    感谢你提供的代码,我已经改进并解决了。非常感谢!
作者: GNU    时间: 2016-11-23 23:00

回复 4# 珠七七


    把你改进的代码发出来看看吧,也许可以进一步改进。
作者: GNU    时间: 2016-11-23 23:03

回复 3# Blitz


用 copy /y 代替 ren 可以避免重名问题
作者: Blitz    时间: 2016-11-24 07:54

回复 6# GNU


    哦哦,好办法




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2