Board logo

标题: [其他] 批处理如何查找和替换文本文档里某个字符? [打印本页]

作者: caiyukou    时间: 2011-6-20 22:05     标题: 批处理如何查找和替换文本文档里某个字符?

公司目前想实现2台文件服务器资料的同步,文件服务器a的地址为:\\10.87.0.138,文件服务器b的地址为\\10.87.0.238,
目前想将最常用的资料从138上copy一份到238上(并不是全部拷贝,只拷贝最常用的),且路径要保持一致,分析了下大致应该分为2步去进行,
第一步,去138服务器上存放资料路径的文本文件1.txt中查找138,用238替换生成新路径。
第二步,拷贝对应的138资料到238
\\10.87.0.138\pefile\a.txt拷贝到\\10.87.0.238\pefile\a.txt
\\10.87.0.138\pefile\b.txt拷贝到\\10.87.0.238\pefile\b.txt
\\10.87.0.138\pefile\c.txt拷贝到\\10.87.0.238\pefile\c.txt


目前138服务器上有个文本文档
如1.txt,内容是记录138服务器上资料的访问地址:
\\10.87.0.138\pefile\a.txt
\\10.87.0.138\pefile\b.txt
\\10.87.0.138\pefile\c.txt
(下面还有很多类似的地址省略)

第一问题:如何用bat查找1.txt内的关键字"138"并用"238"去替代?
替代后生成以下文档:
\\10.87.0.238\pefile\a.txt
\\10.87.0.238\pefile\b.txt
\\10.87.0.238\pefile\c.txt

第二个问题:替代完后能否实现拷贝原路径的资料(或者在查找替换的过程中就实现copy这步操作呢)
\\10.87.0.138\pefile\a.txt 拷贝到\\10.87.0.238\pefile\a.txt
\\10.87.0.138\pefile\b.txt 拷贝到\\10.87.0.238\pefile\b.txt
\\10.87.0.138\pefile\c.txt 拷贝到\\10.87.0.238\pefile\c.txt

高手们指点指点!thank you!

作者: sky02    时间: 2011-6-21 00:24

第一个问题
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%1 in ('type "1.txt"')do set a=%%1&set v=!a:138=238!&echo !v!>>new.txt
  3. del 1.txt&ren new.txt 1.txt
复制代码
第二个问题没看懂
作者: caiyukou    时间: 2011-6-21 08:15

2# sky02


第2个問題就是實現拷貝源路徑的資料\\10.87.0.138\pefile\a.txt到目的路徑\\10.87.0.238\pefile\a.txt.關鍵是怎麼去一行行對應拷貝,如1.txt裡的每行對應到新生成的new.txt裡的每行。高手再指點指點,或者有什麼其它方法不?




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