有一个函数(Please wait while I install dependencies
You are using pip version 6.0.2, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
100% |################################| 167kB 145kB/s
100% |################################| 159kB 218kB/s
100% |################################| 237kB 472kB/s
100% |################################| 172kB 240kB/s
100% |################################| 196kB 302kB/s
100% |################################| 147kB 296kB/s
100% |################################| 159kB 279kB/s
100% |################################| 200kB 321kB/s
100% |################################| 159kB 315kB/s
100% |################################| 217kB 130kB/s
100% |################################| 4.6MB 196kB/s
100% |################################| 94kB 805kB/s
100% |################################| 110kB 753kB/s
Command "python setup.py egg_info" failed with error code 1 in /var/folders/n9/t1wyb5y171df9032_fykvr8h0000gn/T/pip-build-akpiholr/MySQL-python
)用目录中的每个文件替换所有“1”和“2”。新内容将写入文件Function($_)
。
输入:in.txt→111
输出:in.txt→222→out.txt
请告诉我,如何在每个文件中进行替换?
out.txt
答案 0 :(得分:1)
Get-Content "C:\Dir\*"
会一次性为您提供C:\Dir
中所有内容的内容,因此您无法单独修改每个文件。您还会在C:\Dir
中的任何目录中收到错误。
您需要遍历目录中的每个文件并单独处理它们:
Get-ChildItem 'C:\Dir' -File | ForEach-Object {
$file = $_.FullName
(Get-Content $file) -replace '1','2' | Set-Content $file
}
Get-Content
周围的括号确保在进一步处理之前再次读取和关闭文件,否则写入(仍然打开)文件将失败。
请注意,参数-File
仅在PowerShell v3或更高版本中受支持。在旧版本中,您需要使用以下内容替换Get-ChildItem -File
:
Get-ChildItem 'C:\Dir' | Where-Object { -not $_.PSIsContainer } | ...