Board logo

标题: [文本处理] [已解决]批处理根据文件夹编号来修改目录下的一个文档内容里对应的数值 [打印本页]

作者: 逆流而上的熊猫    时间: 2015-7-31 15:56     标题: [已解决]批处理根据文件夹编号来修改目录下的一个文档内容里对应的数值

是这样的,比如我在e盘有个“注册码.txt“,里面的内容是每行一个1=xxxxxx,2=bbbbbb 然后d盘下有个文件夹,文件夹就起名1,文件夹1的目录下有个kss.ini  里面的内容 就一个“注册码=”我想根据1这个文件夹来自动从e盘的“注册码.txt”里面抓取出1=xxxx 对应到“注册码=”这里  要是d盘文件夹名字是2 就抓取 2=bbbbb 求大神。。用vbs也行啊。
作者: flyinnet9    时间: 2015-7-31 17:06

范例文件在哪里??
作者: 逆流而上的熊猫    时间: 2015-7-31 17:35

回复 2# flyinnet9


    传了啊,给看看啊哥
作者: pcl_test    时间: 2015-7-31 19:44

  1. @echo off
  2. for /f "usebackq tokens=1* delims==" %%a in ("E:\注册码.txt") do (
  3.      >"D:\%%a\kss.ini" (echo;[注册码]&echo;注册码=%%b)
  4. ) 2>nul
  5. pause
复制代码

作者: 逆流而上的熊猫    时间: 2015-7-31 20:42

回复 4# pcl_test


    要是最后一个kss.ini里面的内容变了 怎么改啊?
[zhong]
ip=192.168.1.1
端口=80
机器编码=001
就改改机器编码  (echo;[注册码]&echo;注册码=%%b) 怎么改这段啊?
作者: pcl_test    时间: 2015-7-31 20:59

sed下载http://batch-cn.qiniudn.com/tool/sed.exe
  1. @echo off
  2. for /f "usebackq tokens=1* delims==" %%a in ("E:\注册码.txt") do (
  3.     sed -i "s/机器编码=.*/机器编码=%%b/" "D:\%%a\kss.ini"
  4. ) 2>nul
  5. pause
复制代码

作者: 逆流而上的熊猫    时间: 2015-7-31 21:22

回复 6# pcl_test


    这个好像改不动哦。。。老大。。再看看啊
作者: pcl_test    时间: 2015-7-31 21:25

回复 7# 逆流而上的熊猫

测试挺好的
作者: 逆流而上的熊猫    时间: 2015-7-31 21:38

回复 8# pcl_test


    我怎么一直都测试不行,前面那个是可以,这个不知道为什么不行啊
作者: 逆流而上的熊猫    时间: 2015-7-31 22:02

回复 8# pcl_test


    不行啊。。 老大。。
作者: pcl_test    时间: 2015-8-1 00:03

回复 10# 逆流而上的熊猫


    下载sed,跟批处理文件放一起运行
作者: flyinnet9    时间: 2015-8-1 00:12

  1. @echo off
  2. set "keyfile=E:\注册码.txt"
  3. for /f "tokens=1,2 delims==" %%a in (%keyfile%) do (
  4.   for /f  "delims=" %%c in (d:\%%a\kss.ini) do (
  5.     echo %%c >%tmp%\aa
  6.     find "机器编码" aa && echo 机器编码=%%b >>d:\%%a\tmp  ||  echo %%c >>d:\%%a\tmp
  7.   )
  8. del d:\%%a\kss.ini
  9. ren d:\%%a\tmp kss.ini
  10. )
复制代码





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