私は奇妙なエラーが発生しています。私が以下を実行すると、以下のエラーが表示されます。 $ inputfolderのファイル名は正しいですが、ファイルパスは現在のドライブに変更されていますが、$ inputfolderとして定義したものではありません。それが「ファイルを見つけることができない」という理由です。Powershellエラー、パス/ドライブの指定問題
ファイル 'C:\ path \ of \ current \ drive \ batch.csv'が見つかりませんでした。
私の.ps1を$ inputfolderに移動すると動作します。私は何が悪いのか分からない。変数が定義されています。 も、$ outputpathは機能しません。 done.csvファイルが入力フォルダーに作成されます。
$inputfolder = 'C:/path/to/folder/'
$inputobject = Get-ChildItem $inputfolder
$outputpath = Join-Path $inputfolder 'done.csv'
Import-Csv $inputobject | select COLUMN1,COLUMN1 | Export-Csv -Path $outputpath -NoTypeInformation
EDIT:完全なエラー報告。再び、 "\ current \ driveのパス"は、.ps1が入っているフォルダがある場所です。変数を定義しても、.ps1を$ inputfolderに移動すると正しく動作します。
Import-Csv : Could not find file 'C:\path\of\current\drive\batch.csv'.
At C:\path\of\current\drive\myscript.ps1:9 char:1
+ Import-Csv $inputobject | select COLUMN1,COLUMN2 | Export-Cs ...
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (:) [Import-Csv], FileNotFoundException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.ImportCsvCommand
スラッシュは '/'で、ウィンドウ内のパスには円記号\ – user4317867
を使用します。Windowsでパス名を使用するほとんどのコンテキストでは、パス区切り文字として '/'または '\'を使います。 'cmd.exe'は、スイッチインジケータとして' -'の代わりに '/'を使うためではありません。 –
出力先のcsvが入力フォルダに置かれている限り、それはあなたがしたことを正確に行っています。 –