代码之家  ›  专栏  ›  技术社区  ›  physlexic

ps脚本查找错误文件夹中的文件

  •  0
  • physlexic  · 技术社区  · 6 年前

    出于某种原因,即使我指定了 $inputfolder 我在脚本中发现一个错误,说它正在查找 [the target file from the $inputfolder] 但在脚本所在的文件夹中。我不明白为什么。谢谢。

    $inputfolder = 'C:\path\to\file\'
    $inputobject = Get-ChildItem $inputfolder
    $outputpath = Join-Path $inputfolder 'dundada.csv'
    
    Import-Csv $inputobject | select column1 | Export-Csv -Path $outputpath -NoTypeInformation
    

    这是我得到的错误:

    Import-Csv : Could not find file 'C:\path\to\folder\containing\PS\script\Target_File_from_Input_Folder.csv'.
    
    2 回复  |  直到 6 年前
        1
  •  3
  •   Robert Dyjas Joey    6 年前

    问题是您在此处提供给Cmdlet的内容:

    Import-Csv $inputobject
    

    只是 filename.csv 这意味着PowerShell在当前文件夹中查找文件。如果要指定文本路径,必须使用

    Import-Csv $inputobject.FullName
    

    为什么?PowerShell试图以某种方式将您提供的值转换为它想要的参数。在这种情况下,它尝试使用 .ToString() 并提供给 -LiteralPath (因为这是唯一 required parameter )

        2
  •  -1
  •   Pawan kumar    6 年前

    我认为$inputObject=get childitem$input folder不是得到文件名,而是得到输入文件夹的dir结构。也许试试看

    $inputobject = Get-ChildItem $inputfolder -Name *.csv
    

    假设inputfolder中只有一个csv文件