Powershell Add-Content应该创建路径但抛出异常“找不到路径的一部分”

时间:2018-01-24 15:02:30

标签: powershell

我正在使用powershell Add-Content来创建文件。但是,当文件的文件夹不存在时,我收到错误:

Add-Content : Could not find a part of the path 'C:\tests\test134\logs\test134.log'.

根据文档,这应该创建文件夹:

PS C:\> Add-Content -Value (Get-Content "test.log") -Path  "C:\tests\test134\logs\test134.log" 
  

此命令创建一个新的   目录和文件,并将现有文件的内容复制到   新创建的文件。

     

此命令使用Add-Content cmdlet添加内容。价值   Value参数是一个获取内容的Get-Content命令   现有文件Test.log。

     

path参数的值是当时不存在的路径   命令运行。在此示例中,仅存在C:\ Tests目录。   该命令创建剩余的目录和Test134.log   文件。

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/add-content?view=powershell-5.1

似乎Add-Content中的一个明显问题,不是吗? 你可以重现这个吗?

编辑:我正在运行PowerShell版本5.1.16299.64

BR Matthias

2 个答案:

答案 0 :(得分:3)

Add-Content cmdlet无法创建路径,只能创建文件。它有效:

$Path = "C:\tests\test134\logs2\test134.log"
$Path |% { 
           If (Test-Path -Path $_) { Get-Item $_ } 
           Else { New-Item -Path $_ -Force } 
} | Add-Content -Value 'sample content'

答案 1 :(得分:1)

另一种选择:

$Path = "C:\tests\test134\logs2\test134.log"
If (!(Test-Path $Path)) {New-Item -Path $Path -Force}
Add-Content -Path $Path -Value "Sample Content"