Powershell-删除定界符后的所有内容-在文件夹中找到的文本文件中 [英] Powershell - Delete Everything After a Delimiter - In Text files Found in Folder
本文介绍了Powershell-删除定界符后的所有内容-在文件夹中找到的文本文件中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从一堆文本文件中删除内容.
在每个文本文件中-删除******之后的所有内容
$ Path ="C:\ Users \ Desktop \ Delete \ *.txt"#包含文本文件的文件夹$ OutPath ="C:\ Users \ Desktop \ Files \"获取内容c.txt |其中{$ _ -notmatch"*****"} |设置内容$ OutPath
我已经看到了 powershell删除所有内容文件中每行之后的字符之后
我无法正常工作
我是有电源外壳的新手,请原谅我的代码.
谢谢
解决方案
您可以使用 Get-Content
的 -Delimiter
参数轻松完成此操作:>
免责声明:未经测试
$ Path ="C:\ Users \ Desktop \ Delete \ *.txt"#包含文本文件的文件夹$ OutPath ="C:\ Users \ Desktop \ Files \"Foreach(在(Get-Childitem $ path)中的$ file){(获取内容$ file.fullname-分隔符'*****')[0] |设置内容"$ OutPath \ $($ file.name)"}
I would like to delete content from a bunch of text files.
In each text file - Delete Everything After the ******
$Path = "C:\Users\Desktop\Delete\*.txt" # Folder Containing Text files
$OutPath = "C:\Users\Desktop\Files\"
Get-Content c.txt | Where { $_ -notmatch "*****" } | Set-Content $OutPath
I have seen this powershell delete everything after character for every line in a file
I couldn't get it to work
I am a newbie with power shell do please forgive my code.
Thank you
解决方案
You can use the -Delimiter
parameter of Get-Content
to do this pretty easily:
Disclaimer: not tested
$Path = "C:\Users\Desktop\Delete\*.txt" # Folder Containing Text files
$OutPath = "C:\Users\Desktop\Files\"
Foreach ($file in (Get-Childitem $path))
{
(Get-Content $file.fullname -Delimiter '*****')[0] |
Set-Content "$OutPath\$($file.name)"
}
这篇关于Powershell-删除定界符后的所有内容-在文件夹中找到的文本文件中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文