将指定文件夹下的所有文件内容按规则进行替换

当我们遇到想要将某个文件夹及其子文件夹下的文件内容按规矩进行批量替换时,挨个打开文件进行替换会很浪费时间,于是写了这个powershell脚本。

1、首先创建一个XXX.ps1的文件并用记事本打开。

2、将以下代码复制到创建的文件中。

$folderPath = "E:"  #绝对路径下
# $folderPath = Get-ChildItem -File  #当前路径下


function Replace-InFile($filePath) 
{
    $content = Get-Content $filePath -Raw

    #需要替换的字符串
    $content = $content -creplace 'AAAA', 'BBBB'

    Set-Content -Path $filePath -Value $content
}

function Process-Folder($folderPath) 
{
    $files = Get-ChildItem -Path $folderPath -Recurse -File
    foreach ($file in $files) 
    {

        Replace-InFile $file.FullName

        Write-Host "ok: $($file.Name)"
    }
}

Process-Folder $folderPath

3、修改    $folderPath = "绝对路径"  这儿的绝对路径就是需要进行批量的母文件夹。

4、如果想要只替换当前文件夹下的文件,可以使用第二行命令并将第一行注释掉 。

5、$content = $content -creplace 'AAAA', 'BBBB',这句是将AAAA替换成BBBB,当然也可以在下面增加其他的替换规则。

6、脚本执行完毕后会将替换成功的文件名打印到终端。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是一个读取配置文件替换文件夹文件名称的示例代码,同时附带注释说明: ```python import os import configparser # 读取配置文件 config = configparser.ConfigParser() config.read('config.ini') # 获取配置文件中的替换规则 rules = config.items('ReplaceRules') # 遍历指定文件夹下的文件夹文件名称,并进行替换 for root, dirs, files in os.walk(config.get('Folder', 'Path')): # 替换文件夹名称 for i in range(len(dirs)): for old_str, new_str in rules: if old_str in dirs[i]: dirs[i] = dirs[i].replace(old_str, new_str) break # 替换文件名称 for i in range(len(files)): for old_str, new_str in rules: if old_str in files[i]: new_name = files[i].replace(old_str, new_str) os.rename(os.path.join(root, files[i]), os.path.join(root, new_name)) break # 配置文件格式示例: # # [Folder] # Path = ./data # # [ReplaceRules] # abc = 中文 # def = 字符 # # 每条语句注释如下: # # 1. 创建 ConfigParser 对象,用于读取配置文件 # 2. 读取配置文件 # 3. 获取指定文件夹路径 # 4. 获取替换规则 # 5-14. 遍历指定文件夹下的文件夹文件名,对于每个文件夹文件名,循环遍历替换规则进行替换 # 6-11. 替换文件夹名称 # 12-17. 替换文件名称,需要使用 os.rename() 函数进行重命名操作 # 19-27. 配置文件格式说明,Folder 段包含一个 Path 项,表示需要遍历的文件夹路径; # 28-32. ReplaceRules 段包含多个键值对,表示需要进行替换规则,其中键为需要替换的字符串,值为替换后的字符串。 ``` 希望这个示例能够帮助你实现你的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coding Peasant

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值