【发布时间】:2020-11-10 22:54:43
【问题描述】:
我发现这个函数可以用来获取文件的完整路径:
Function Get-Filename($initialDirectory="")
{
[System.Reflection.Assembly]::LoadWithPartialName(“System.windows.forms”) | Out-Null
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.initialDirectory = $initialdirectory
# $OpenFileDialog.filter = "TXT (*.txt)| *.txt"
$OpenFileDialog.ShowHelp = $true
$OpenFileDialog.ShowDialog() | out-null
$OpenFileDialog.filename
return $filnavn
}
$InputFil = Get-FileName
$InputFil
$OurFilesData = Get-Content $InputFil -Encoding UTF8
我收到此错误消息:
Get-Content : Cannot bind argument to parameter 'Path' because it is null.
At line:27 char:29
+ $OurFilesData = Get-Content $InputFil -Encoding UTF8
+ ~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Get-Content], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.GetContentCommand
我知道/尝试过的:
- 我在自己的机器上本地运行代码
- $InputFil 返回正确的完整路径和文件名(例如:C:\Temp\E-Drevet_KANALNAVNE.CSV)
- 如果它手动设置 $InputFil 变量 ($InputFil = "C:\Temp\E-Drevet_KANALNAVNE.CSV") 我不会收到同样的错误
- Power Shell 版本 5.1.19041.546
当输入似乎与我手动设置 $InputFil 变量时相同时,为什么会出现此错误?
【问题讨论】:
-
你试过
Get-Content -Path $InputFil吗? -
您帖子中的错误似乎与标题不符,您可以仔细检查并澄清一下吗?
-
删除
return $filnavn
标签: powershell