批处理查找和替换文件指定字符串
2010-01-19 05:36
323 查看
@echo off
::把需要搜索的路径赋值给变量sp,这里举例是c:/tmp
set sp=c:/tmp
::把需要查找的文件名赋值给变量cf,这里举例是root.txt
set cf=root.txt
::把将被替换的字符串赋值给st,这里举例是apple
set st=apple
::把替换字符串赋值给dt,这里举例是lemon
set dt=lemon
::以上的这些赋值执行后,将会把C盘tmp文件夹下面包括子文件夹里的root.txt中的apple全部替换成lemon
::下面的代码将完成替换工作
for /r %sp% %%a in (%cf%) do (call :doit "%%~dpa")
goto end
:doit
setlocal enabledelayedexpansion
pushd %1
for /f "tokens=1,2* delims=:" %%i in ('findstr /n ".*" %cf%') do (
set txt=%%j
if "!txt!" == "" (
echo.>>%1root.tmp
) else (
echo !txt:%st%=%dt%!>>%1root.tmp
)
)
move /y root.tmp root.txt
:end
转自http://topic.csdn.net/u/20080819/22/14af598e-56fd-4201-968d-b3aa05537ad8.html
::把需要搜索的路径赋值给变量sp,这里举例是c:/tmp
set sp=c:/tmp
::把需要查找的文件名赋值给变量cf,这里举例是root.txt
set cf=root.txt
::把将被替换的字符串赋值给st,这里举例是apple
set st=apple
::把替换字符串赋值给dt,这里举例是lemon
set dt=lemon
::以上的这些赋值执行后,将会把C盘tmp文件夹下面包括子文件夹里的root.txt中的apple全部替换成lemon
::下面的代码将完成替换工作
for /r %sp% %%a in (%cf%) do (call :doit "%%~dpa")
goto end
:doit
setlocal enabledelayedexpansion
pushd %1
for /f "tokens=1,2* delims=:" %%i in ('findstr /n ".*" %cf%') do (
set txt=%%j
if "!txt!" == "" (
echo.>>%1root.tmp
) else (
echo !txt:%st%=%dt%!>>%1root.tmp
)
)
move /y root.tmp root.txt
:end
转自http://topic.csdn.net/u/20080819/22/14af598e-56fd-4201-968d-b3aa05537ad8.html
相关文章推荐
- 查找和替换指定目录下所有文件中字符串(use sed and grep)
- Python__查找替换指定文件中的特定字符串
- 批处理替换文本文件中的字符串,并保留换行
- 如何从指定字符串中查找并替换字符串?
- linux 命令替换文件夹下所有文件指定字符串为***
- C# richtextbox查找和替换指定字符串
- 批处理:查找指定条件的文件复制到指定的目录中
- 查找本地文件中的特定字符串并替换代码
- find 查找包含指定字符串的文件,仅列出文件名
- (PowerShell) 查找所有文件中的指定字符串
- 将一个目录下所有指定文件里面的特定字符串替换
- Linux查找和替换目录下所有文件中字符串
- Shell循环列出目录下所有文件或查找目录下包含指定字符串的文件
- Linux在指定目录下查找包含指定字符串的文件
- linux 批量查找替换文件中的某个字符串
- MyEclipse如何查找指定工程下所有或指定文件中特定字符串并且可进行批量替换
- SAS命令应用高级技巧--如何从一批SCL,SOURCE文件中查找或替换某字符串
- 1、读取一个文件,并替换其中指定的字符串为特定字符串
- Java遍历文件夹下所有文件并替换指定字符串
- 在文件夹中 的指定类型文件中 查找字符串(CodeBlocks+GCC编译,控制台程序,仅能在Windows上运行)