使用powershell自动从文本文件中删除特定字符并保存到新位置
我正在寻找一些帮助,基本上我正在尝试使用powershell执行3个操作(如果所有操作都可能的话)使用powershell自动从文本文件中删除特定字符并保存到新位置,powershell,Powershell,我正在寻找一些帮助,基本上我正在尝试使用powershell执行3个操作(如果所有操作都可能的话) 在保存到特定文件夹的文件上自动运行以下操作 从该文件中删除字符 将文件保存到新位置 我首先将代码放在一起以删除字符,它可以工作(因为powershell ISE显示删除字符的文本,但在输出文件时为空) 创建新文件后,如果它可以移动到另一个文件夹并删除以前的文件,那就太好了 这是我到目前为止所拥有的 Get-Content C:\Users\Tech\Desktop\Test\import.tx
- 在保存到特定文件夹的文件上自动运行以下操作
- 从该文件中删除字符
- 将文件保存到新位置
Get-Content C:\Users\Tech\Desktop\Test\import.txt
foreach ($line in (Get-Content C:\Users\Tech\Desktop\Test\import.txt))
{ $line -replace "\&", "" -replace "\£", "" -replace "\+", "" -replace "\-", "" -replace "\)","" -replace "\(","" -replace "\$","" -replace "\#","" -replace "\*","" -replace "\%",""}
Out-File -Encoding UTF8 import.new.txt
通过将替换的内容直接导入
Out文件
Cmdlet,您无需使用Foreach
语句即可一次性替换所有行
$content = Get-Content "C:\Users\Tech\Desktop\Test\import.txt"
$newfile = "C:\YourNewLocation\import.new.txt"
$content -replace "\&", "" -replace "\£", "" -replace "\+", "" -replace "\-", ""`
-replace "\)","" -replace "\(","" -replace "\$","" -replace "\#","" `
-replace "\*","" -replace "\%","" | Out-File -FilePath $newfile -Encoding UTF8
上面的代码使用替换的字符串在新位置创建一个新文件,并保留原始文件。如果使用Remove Item
Cmdlet后需要删除原始文件,请执行以下操作
$content = Get-Content "C:\Users\Tech\Desktop\Test\import.txt"
$newfile = "C:\YourNewLocation\import.new.txt"
$content -replace "\&", "" -replace "\£", "" -replace "\+", "" -replace "\-", ""`
-replace "\)","" -replace "\(","" -replace "\$","" -replace "\#","" `
-replace "\*","" -replace "\%","" | Out-File -FilePath $newfile -Encoding UTF8
至于文件保存到文件夹时的自动运行,我会研究每X分钟运行一次运行脚本的
计划任务。否则,您将需要一个不断运行的脚本来轮询文件夹的更改。@CraigCarter如果它回答了您的问题,您能接受答案吗。