不支持Out-File路径格式

时间:2015-11-25 15:34:29

标签: powershell

我抓住文件的最后一行并将其输出到另一个同名的文件中,并带有" 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
}

enter image description here

但是,如果我不添加文件名,它可以正常工作。

Get-Content $item.Fullname -Tail 1 | Out-File -Encoding Ascii $path"t-"

这有什么问题?

1 个答案:

答案 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
}