首页 > 解决方案 > Powershell - 附加文件名,查找和替换,输出到目录

问题描述

我有一些自动化任务,我想每天对一个 txt 文件目录执行。这包括:

1.将文件名追加到txt文件的第一行

2.用分号替换制表符分隔的内容(查找和替换)

3.将文件保存到子目录

以下代码可以进行查找和替换,但我无法将输出保存到其他目录,而是覆盖了原始文件。是否有不同的命令可以让我将输出保存到不同的目录?

(Get-Content "C:\Input\*.txt") -replace "`t", ";" | Set-Content "C:\Input\*.txt"

我目前有一个执行第 1 项(附加文件名)的 BAT,但如果可以将其包装到 Powershell 脚本中,我认为这将是一种更清洁的做事方式。任何帮助表示赞赏!

标签: powershellfilenamesfind-replace

解决方案


对 Vivek 的答案进行了轻微修改,这似乎有效。

Get-ChildItem "C:\Input\*.txt" | where {$_.Name -match ".txt"} | % {((Get-Content $_) -replace "`t", ";") | Set-Content "C:\Input\Upload\$($_.Name)"}

推荐阅读