4 回答

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
這里的很多答案幫助我指出了正確的方向,但是沒有一個(gè)適合我,所以我發(fā)布了我的解決方案。
我有Windows 7,內(nèi)置PowerShell。這是我用來查找/替換文件中所有文本實(shí)例的腳本:
powershell -Command "(gc myFile.txt) -replace 'foo', 'bar' | Out-File myFile.txt"
解釋一下:
powershell
啟動(dòng)powershell.exe,它包含在Windows 7中-Command "... "
是powershell.exe的命令行arg,包含要運(yùn)行的命令(gc myFile.txt)
讀取內(nèi)容myFile.txt
(gc
是Get-Content
命令的縮寫)-replace 'foo', 'bar'
只需運(yùn)行replace命令替換foo
為bar
| Out-File myFile.txt
將輸出傳遞給文件myFile.txt
Powershell.exe應(yīng)該已經(jīng)成為PATH語(yǔ)句的一部分,但如果沒有,您可以添加它。它在我的機(jī)器上的位置是C:\WINDOWS\system32\WindowsPowerShell\v1.0

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您使用的是支持.Net 2.0的Windows版本,我會(huì)替換您的shell。 PowerShell通過命令行為您提供.Net的全部功能。內(nèi)置了許多命令行開關(guān)。以下示例將解決您的問題。我正在使用命令的全名,有更短的別名,但這給了你一些谷歌的東西。
(Get-Content test.txt) | ForEach-Object { $_ -replace "foo", "bar" } | Set-Content test2.txt
- 4 回答
- 0 關(guān)注
- 4235 瀏覽
添加回答
舉報(bào)