怎么对不同文件夹内 同名的txt文件内容进行批处理替换?
比如在A文件夹内有a,b两个子文件夹。这两个子文件夹内有同名文件file.txt。现在希望将所有的file.txt文件中的123替换成456.请问代码应该如何写....
比如 在A文件夹内有a ,b两个子文件夹。这两个子文件夹内有同名文件file.txt。现在希望将所有的file.txt 文件中的123替换成456.请问代码应该如何写.
展开
2个回答
展开全部
不清楚你的实际文件,仅以问题中的说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 对一个指定文件夹下的多个同名txt文件内的指定内容进行替换
set #=Any question&set $=Q&set/az=0x53b7e0b4
title %#% +WX/%$%%$% %z%
cd /d "%~dp0"
set "folder=D:\xxx\A"
set "name=file.txt"
set "oldstr=123"
set "newstr=456"
powershell -NoProfile -ExecutionPolicy bypass ^
$fs=@(dir -liter '%folder%' -r^|?{('%name%' -eq $_.Name) -and ($_ -is [System.IO.FileInfo])});^
for($i=0;$i -lt $fs.length;$i++){^
write-host $fs[$i].FullName;^
$text=[IO.File]::ReadAllText($fs[$i].FullName, [Text.Encoding]::Default);^
$text=$text.replace('%oldstr%', '%newstr%');^
[IO.File]::WriteAllText($fs[$i].FullName, $text, [Text.Encoding]::Default);^
}
:end
echo;%#% +WX/%$%%$% %z%
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询