我抓住文件的最后一行并将其输出到另一个同名的文件中,并带有" t"前缀但出现错误。
$path = 'D:\files\'
$inc = @("*txt_*")
$exc = @("*csv_*")
$List = Get-ChildItem -Path $path -recurse -include $inc -exclude $exc
foreach ($item in $List) {
Get-Content $item.Fullname -Tail 1 | Out-File -Encoding Ascii $path"t-"$item
}
但是,如果我不添加文件名,它可以正常工作。
Get-Content $item.Fullname -Tail 1 | Out-File -Encoding Ascii $path"t-"
这有什么问题?
答案 0 :(得分:2)
使用T-
添加文件名,并从文件夹名称和修改后的文件名构建目标路径:
Get-ChildItem -Path $path -Recurse -Include $inc -Exclude $exc | ForEach-Object {
$dst = Join-Path $_.Directory.FullName ($_.Name -replace '^', 'T-')
Get-Content $_.FullName -Tail 1 | Set-Content $dst -Encoding ascii
}