我有大约700个.txt文件分散在300个目录和子目录中。
我想打开其中的每一个,将所有文本内部转换为小写,包括Unicode字符(例如É
到é
),然后保存并关闭它们。
您能告诉我们如何通过PowerShell完成这项工作吗?这是我自己的电脑,我有管理员权限。
我从下面开始:
Get-ChildItem C:\tmp -Recurse -File | ForEach-Object {}
但我不确定在ForEach-Object {}
的括号之间放什么。
答案 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
}