簡體   English   中英

更改多個文本文件的內容

[英]Change the content of multiple text files

我想在多個文本文件中找到“藍色”的每個實例並將其更改為“粉紅色”。 我無法下載FAR(查找和替換)軟件,因此我需要使用計算機上已有的軟件:Powershell / cmd / batch。

不知道如何在Powershell中對多個文件執行此操作,我決定將批處理和Powershell結合起來。 這是我目前擁有的批處理代碼:

for %%F in ("C:\mypath\*") do (
powershell -command(get-content %%F) -replace 'blue', 'pink'| set-content -encoding ASCII %%F
)

這不起作用,我收到錯誤消息“ set-content無法識別為內部命令”。

我意識到同時使用兩種語言可能會導致一些問題,那么這是否僅適用於批處理或僅適用於Powershell?

謝謝。

這是完整的代碼。 它通過多個文件找到“藍色”並將其替換為“粉紅色”,並帶有包含空格的路徑:

for %%F in ("C:\mypath\*") do powershell -command "(get-content '%%F') -replace 'blue', 'pink'| set-content -encoding ASCII '%%F'"

感謝Aacini,Squashman和Compo的幫助。

如果可以,則應僅使用PowerShell:

Get-ChildItem "C:\mypath" -file | %{$path=$_.FullName; (Get-Content $path).Replace('blue', 'pink') | set-content $path -encoding ASCII }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM