脚本将所有.txt文件内容转换为小写

时间:2017-12-13 12:05:24

标签: windows powershell lowercase

我有大约700个.txt文件分散在300个目录和子目录中。

我想打开其中的每一个,将所有文本内部转换为小写,包括Unicode字符(例如Éé),然后保存并关闭它们。

您能告诉我们如何通过PowerShell完成这项工作吗?这是我自己的电脑,我有管理员权限。

我从下面开始:

Get-ChildItem C:\tmp -Recurse -File | ForEach-Object {}

但我不确定在ForEach-Object {}的括号之间放什么。

2 个答案:

答案 0 :(得分:3)

您需要使用:

HTTP ERROR: 500
Problem accessing /help/index.jsp. Reason: 

PWC6033: Error in Javac compilation for JSP

PWC6199: Generated servlet error:
The type java.io.ObjectInputStream cannot be resolved. It is indirectly 
referenced from required .class files
----------------------------------------------------------------------------
Powered by Jetty:// 

在foreach内部然后将案例更改为更低。

如果要迭代相应文件夹中的所有文件,则可以使用另一个foreach来完成该工作。

希望它有所帮助。

答案 1 :(得分:0)

简单的脚本,符合您的要求:

$path=".\test\*.txt"
#With Default system encoding
Get-ChildItem $path -Recurse | foreach{    
    (Get-Content $_.FullName).ToLower() | Out-File $_.FullName
}

#Or with specified encoding    
Get-ChildItem $path -Recurse | foreach{    
(Get-Content $_.FullName -Encoding Unicode).ToLower() | 
    Out-File $_.FullName -Encoding Unicode
}
#Test
Get-ChildItem $path -Recurse | foreach{
    Write-Host "`n File ($_.FullName): `n" -ForegroundColor DarkGreen
    Get-Content $_.FullName    
}