Board logo

标题: [已解决]求批处理批量替换php文件指定行里的内容,替换内容从指定txt逐行获取(有偿) [打印本页]

作者: zxar520    时间: 2017-6-26 00:29     标题: [已解决]求批处理批量替换php文件指定行里的内容,替换内容从指定txt逐行获取(有偿)

本帖最后由 zxar520 于 2017-6-26 23:22 编辑

php文件目录结构:

txt001 (目录)
---------------config.php ---->(需要修改的文件)
txt002(目录)
---------------config.php ---->(需要修改的文件)
txt003(目录)
---------------config.php ---->(需要修改的文件)

...(数百个)...

txt355(目录)
---------------config.php ---->(需要修改的文件)
===========================================

confin.php内容如下:
  1. <?php
  2. $var='aaaa'; 注明:<----需要从name.txt逐行替换
  3. $id=6;       注明:<----数字按顺序修改1,2,3,4...
  4. ?>
复制代码
===========================================

替换内容name.txt(文件config.php个数和内容行数一样)
  1. $var='qbmfyd';$var='dtzw';
  2. $var='bxge';
  3. $var='bxtxt';
  4. $var='d8qu';
  5. $var='jiuse';
  6. ...(数百个)...
  7. $var='hnuo';
  8. $var='txun';
  9. $var='shuqing';
复制代码
name.txt内容也可以是这样形式:
  1. qbmfyd
  2. dtzw
  3. bxge
  4. bxtxt
  5. d8qu
  6. jiuse
  7. ...(数百个)...
  8. hnuo
  9. txun
  10. shuqing
复制代码
这种形式的话就是只替换 ' ' 内的字符。
============================================


要求:所有config.php是一样的,按目录顺序将$var='aaaa';从name.txt逐行获取并替换,并且下面的$id=6最好是跟目录数字一样。(我可以将config.php批量改成config.txt,如果有要求的话。)

希望有高手可以帮个忙,(可以有偿。支付宝或微信,可联系QQ83114740或留下联系方式)谢谢!
作者: hlzj88    时间: 2017-6-26 07:03

如果感觉可用,请支付到论坛支付宝账号     batcher.li@gmail.com    价格你定
  1. @echo off&setlocal enabledelayedexpansion
  2. set p=0
  3. for /f %%i in (name.txt) do (
  4. set /a p+=1
  5. set b=000!p!
  6. set b=!b:~-3,3!
  7. md txt!b!
  8. echo ^<^?php>txt!b!\config.php
  9. echo %%i>>txt!b!\config.php
  10. echo $id^=!p!;>>txt!b!\config.php
  11. echo ?^>>>txt!b!\config.php
  12. )
  13. pause
复制代码
我对题目的理解就是读取name.txt的每一行,生成按序的文件夹,并把name.txt里的对应内容+编号写入文件夹里的confing.php里。
作者: zxar520    时间: 2017-6-26 20:05

本帖最后由 zxar520 于 2017-6-26 20:11 编辑

试了可以用,而且我已经转帐了,请查收,不知道够不够,如果不够可以再转。

这个现在存在的问题是会把整个文件内容进行重写操作,而不是局部进行替换操作,因为文件是已经存在的,不需要重新创建,不知道是否可以修正一下?

修正要求:(自动按行批量替换一个文件,自动编号一个文件,因为我还需要使用在另一批文件上,那个只是需要自动编号,)

1. 只针对设定好的哪一行进行替换,可以自己设定前后关键字符,然后取前后关键字符中间的部分进行替换修改。(或者是取固定字符进行批量修改)
2. 然后帮我把自动编号的那个单独分离,可以独立运行自动编号,也需要取前后关键字符(或是取固定字符),再自动编号.

如果方便,请留下联系方式,或是加我QQ83114740,我可以再次支付佣金。而且以后还会有其他的合作项目,谢谢!
作者: hlzj88    时间: 2017-6-26 20:21

本帖最后由 hlzj88 于 2017-6-26 20:26 编辑

你要的php只有4行,分别对应上面代码的8 9 10 11行,不难,,可以自己修改

如果你不需要某行,,在这几行里去掉某行就可以。或者把某个词替换掉也可以。

由上例可见  <> = 这几个字符在用批处理输出时是要带 ^ 来进行转义的。不神秘。

你的转账 是转给了论坛的账号,,因为论坛论坛维持不容易。因此多少不知,也不强求多多少,各凭心意。
作者: hlzj88    时间: 2017-6-26 20:31

你有问题要问就问在论坛吧,,凭心说,我技术是很不行的,太难的是帮不了的。。在论坛,很多人看到,会有很多人帮助的。
作者: Batcher    时间: 2017-6-26 22:20

回复 4# hlzj88


    收到楼主的20元转账,感谢对论坛的支持。
作者: Batcher    时间: 2017-6-26 22:26

回复 3# zxar520


    把 config.php 的完整内容发出来,注明需要替换哪个部分。
作者: zxar520    时间: 2017-6-26 23:20

已经处理好了,非常感谢!
作者: zxar520    时间: 2017-6-26 23:24

如果感觉可用,请支付到论坛支付宝账号     batcher.li@gmail.com    价格你定我对题目的理解就是读取name. ...
hlzj88 发表于 2017-6-26 07:03



    非常感谢,已经解决了,支持是应该的,我也是一个站长,知道做站的辛苦,非常感谢。好人好报。




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