BAT:文件中替换字符(保留空格和换行)

 1 @echo off
 2 rem CMD:"color --help"
 3 :: setting color:back white,content blue
 4 color f9
 5
 6 ::old string and replace string
 7 set old_str=ip
 8 set new_str=#ip
 9
10 :FILE
11 set "souerce_path=D:\xxx\bat\my_test.txt"
12 for /f "tokens=1* delims=:" %%i in (‘findstr /n .* "%souerce_path%"‘) do (
13     set "lineContent=%%j"
14     ::echo ==%%j==
15     setlocal EnableDelayedExpansion
16     if not "!lineContent!"=="" set "lineContent=!lineContent:%old_str%=%new_str%!"
17     >>"temp.txt" echo.!lineContent!
18     endlocal
19 )
20 move /y temp.txt "%souerce_path%"
21 goto END
22
23 :PATH
24 ::files path
25 set "souerce_path=D:/xxx/bat"
26 cd /d "%souerce_path%"
27
28 :: dir /s /b /a-d *.txt  ::get all current and sub path file name with post .txt
29 for /f "delims="  %%a in (‘dir /s /b /a-d *.txt‘) do (
30     for /f "tokens=1* delims=:" %%i in (‘findstr /n .* "%%a"‘) do (
31         set "lineContent=%%j"
32         ::echo ==%%j==
33         ::here use "setlocal EnableDelayedExpansion" to keep content "!"
34         setlocal EnableDelayedExpansion
35         if not "!lineContent!"=="" set "lineContent=!lineContent:%old_str%=%new_str%!"
36         >>"%%~dpnxas" echo.!lineContent!
37         endlocal
38     )
39     del /s /q /f "%%a" >nul
40     ren *.txts *.txt
41 )
42 :END
43 echo   ---------ok----------
44 pause>nul

原文地址:https://www.cnblogs.com/leonlipfsj/p/10164005.html

时间: 2024-10-03 15:48:41

BAT:文件中替换字符(保留空格和换行)的相关文章

linux sed 批量替换多个文件中的字符

格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.admin99.net为admin99.net sed -i "s/www.admin99.net/admin99.net/g" `grep w

calculate the number of characters-统计文件中的字符数,非空白字符数,字母数,输入到文件和屏幕:

//calculate the number of characters-统计文件中的字符数,非空白字符数,字母数,输入到文件和屏幕: #include<iostream> #include<fstream> #include<cstdlib> #include<cmath> int main() { using namespace std; ifstream fin; ofstream fout; double ch1 = 0,ch2 = 0,letter

统计一个文件中出现字符&#39;a&#39;的次数

# -*- coding: utf-8 -*- #python 27 #xiaodeng #统计一个文件中出现字符'a'的次数 #http://www.cnblogs.com/hongten/p/hongten_python_count.html import os number=0 def getNumber(filePath,c): 'c---->the word numbers' #统计一个文件中出现字符'a'的次数 if os.path.exists(filePath): global

bat文件中批处理设置变量延迟的问题

在bat文件中想实现对变量的赋值和输出,发现设置的变量在后续使用中为空,代码如下: @echo off for %%i in (*) do ( set var=%%i echo %var% ) 理论上,输出结果应为当前命令所在目录里的所有文件名,可实际的输出结果 却为问题分析:这涉及到批处理命令中的变量延迟扩展问题,详细请参考:https://blog.csdn.net/subkiller/article/details/7344509解决方法: @echo off for %%i in (*)

HTML &lt;pre&gt; 标签(保留空格和换行符)

pre 元素可定义预格式化的文本.被包围在 pre 元素中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. 标签的一个常见应用就是用来表示计算机的源代码.  pre 元素可定义预格式化的文本.被包围在 pre 元素中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. 标签的一个常见应用就是用来表示计算机的源代码.对于技术博客经常会用到pre标签输出代码或是代码高亮,而默认情况下,pre 标签中的内容若超出范围不会自动换行. 下面介绍一个方法让 标签中的内容自动换行并符合 W3C 标

替换文件中某个字符串并写入新内容(Java代码实现)

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.InputStream; import java.io.InputStreamReader; /* * 替换文件(如果该文件含有子目录,则包括子目录所有文件)中某个字符串并写入新内容(J

window下批处理操作:bat文件中调用.bat和.exe文件

文件名test.bat rem 启动GTRManager.exe start cmd /k "D:\GTRManager_old\GTRECM\GTRManager.exe" ping 127.0.0.1 -n 10  rem 启动start.bat D: cd D:\v2r3c06spc100_spe_hutaf\HutafAgent start cmd /k "" call start.bat ping 127.0.0.1 -n 10  rem 启动agentW

JAVA中替换字符的方法replace和replaceAll 区别

replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号;相同点是都是全部替换,即把源字符串中的某一字符或字符

从文件中读取字符-多次调用read characters from file multiple calls

[抄题]: 接口:int read4(char * buf)一次从文件中读取 4 个字符.返回值是实际读取的字符数. 例如,如果文件中只剩下 3 个字符,则返回 3.通过使用read4 接口,实现从文件读取 n 个字符的函数int read(char * buf,int n). [暴力解法]: 时间分析: 空间分析: [思维问题]: [一句话思路]: [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: 用数组实现队列的原理是:进入时是ta