[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理实现TXT、INI、DAT 多种不同扩展名文本内指定相同字符串的替换

本帖最后由 pcl_test 于 2016-11-24 08:21 编辑

谁能帮我写一个 一个多级文件夹下 有 TXT、INI、DAT  能一键替换内容的

比如
路径:A文件夹\B文件夹\C文件夹\1.TXT
路径:A文件夹\B文件夹\1.TXT
路径:A文件夹\B文件夹\1.INI
路径:A文件夹\D文件夹\1.DAT

我想要一次直接替换这些文件里的相同内容   需要多个内容替换

A替换1
B替换2

能给我解释下什么意思吗

先解释这行吧:
sed -i -e "s/A/1/g" -e "s/B/2/g" "C:\A文件夹\B文件夹\C文件夹\1.TXT"

把文件 C:\A文件夹\B文件夹\C文件夹\1.TXT 里面的字母 A 替换成数字 1
把字母 B 替换成数字 2

TOP

  1. @echo off
  2. sed -i -e "s/A/1/g" -e "s/B/2/g" "C:\A文件夹\B文件夹\C文件夹\1.TXT"
  3. sed -i -e "s/A/1/g" -e "s/B/2/g" "C:\A文件夹\B文件夹\1.TXT"
  4. sed -i -e "s/A/1/g" -e "s/B/2/g" "C:\A文件夹\B文件夹\1.INI"
  5. sed -i -e "s/A/1/g" -e "s/B/2/g" "C:\A文件夹\D文件夹\1.DAT"
复制代码

TOP

本帖最后由 pcl_test 于 2015-12-9 22:51 编辑
  1. var fso = new ActiveXObject('Scripting.FileSystemObject');
  2. while(!WScript.StdIn.AtEndOfStream) {
  3.     var f = WScript.StdIn.ReadLine();
  4.     //替换规则
  5.     var repstr = ['A->1','B->2']
  6.     if(fso.GetFile(f).size>1){
  7.         var txt = fso.OpenTextFile(f, 1).ReadAll();
  8.         for(var i=0; i<repstr.length; i++){
  9.             var t = repstr[i].split('->');
  10.             //需区分字母大小写,把ig的i去掉
  11.             var reg = new RegExp(t[0],'ig');
  12.             txt = txt.replace(reg,t[1]);
  13.         }
  14.         fso.CreateTextFile(f, 2).Write(txt);
  15.     }
  16. }
复制代码

TOP

返回列表