如何从文件夹中的所有文本文件中删除单词? [英] How to remove words from all text files in a folder?

查看:5
本文介绍了如何从文件夹中的所有文本文件中删除单词?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个这样的代码:

$txt = get-content c:work	est1.i

$txt[0] = $txt[0] -replace '-'

$txt[$txt.length - 1 ] = $txt[$txt.length - 1 ] -replace '-'

$txt | set-content c:work	est1.i
它只从文本文件的第一行和最后一行中删除-,但我需要对包含超过5k个文本文件的目录树中的所有文本文件执行此操作。我应该如何修改此代码?

文本文件的所有名称都是随机的。

我需要在PowerShell中执行此操作。

这是一个目录树,在c:work est下,将有更多的子文件夹,而不是包含所有文本文件。

请帮帮忙。谢谢

推荐答案

通过文件扩展名或某种模式获取所有文件并循环访问它们。假设它是扩展名为.i的所有文件。尝试:

Get-ChildItem -Path "c:work	est" -Filter *.i -Recurse | where { !$_.PSIsContainer } | % { 
    $txt = Get-Content $_.FullName; 
    $txt[0] = $txt[0] -replace '-'; 
    $txt[$txt.length - 1 ] = $txt[$txt.length - 1 ] -replace '-';
    $txt | Set-Content $_.FullName
    }

这篇关于如何从文件夹中的所有文本文件中删除单词?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆