我有10个.txt文件,所有这些文件都有以01、02、03、04等两位数字开头的行或记录。诸若此类。
File1.txt
01,333,abc,test2,44,55
02,883,def,test5,33,093
03....and so on.
1.现在,如果PowerShell发现一个文件不包含以“01”或“02”开头的记录,那么我想抛出一个错误或异常。
1.另外,如果有这样的文件,我不想将无效格式的文件复制到输出文件夹。我只想修改和复制带有01或02的txt文件。
我怎么能这样做呢?
Get-ChildItem -Path 'C:\InputFiles\'-Filter '*.txt' -File | ForEach-Object {
$file = $_.FullName
$FileData = Get-Content $file
if($FileData[01] -notlike "01,"){
Write-Host $file "File is INVALID"
}
$data = switch -Regex -File $file {
'^01,' {
do stuff...
}
'^02,' {
do stuff...
}
default {$_}
}
}
$data | Set-Content -Path $file -Force
Copy-Item -Path $file -Destination 'C:\OutputFiles\' -Force
1条答案
按热度按时间iaqfqrcu1#
做到这一点的一种方法可能是
或者不使用正则表达式: