【问题标题】:Powershell Add-Content should create path but throws exception "Could not find a part of the path"Powershell Add-Content 应创建路径但抛出异常“找不到路径的一部分”
【发布时间】:2018-07-03 16:19:34
【问题描述】:

我正在使用 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马蒂亚斯

【问题讨论】:

  • 我认为文档缺少一部分 sn-p。正如动词所暗示的那样;它Adds 内容[到现有项目]
  • 您的 PowerShell 版本是什么。你运行的是 5.1 吗?这很重要,但在您的问题或错误报告中并不明确。
  • 好点。我正在运行 5.1.16299.64

标签: powershell


【解决方案1】:

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'

【讨论】:

    【解决方案2】:

    只是另一种选择:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-27
      • 1970-01-01
      • 2013-01-13
      • 2021-03-16
      • 1970-01-01
      相关资源
      最近更新 更多