无法设置 Path 参数
Failed to set a Path parameter
我正在编写一个 PowerShell Skript,它从 CSV 文件中获取相关数据并创建一个新的 CSV 文件。
一切都按预期工作,但我在设置 Path 变量时遇到了问题。
每次我启动 Skript 时,我都会询问路径,即使我已经在 Param 块中指定了路径。
Param (
# Param1 Pfadparameter
[Parameter(Mandatory=$true,
Position=0,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
ValueFromRemainingArguments=$false,
ParameterSetName='Parameter Set 1')]
$Path = '.C:\Users\wkivan3\Desktop\Sheduling\Aufgabe\kurz.csv'
)
这里是使用 $Path 参数的行:
$Accountdaten = Get-Content -Path $Path | convertfrom-csv -Delimiter ';'
感谢您的帮助!
当您在参数部分使用 Mandatory = $true
时,这意味着您 必须 提供 运行 脚本。使 $false
成为可选的。如果您不提供该值,它将使用您定义的值作为默认值,但如果您在调用脚本时向 -Path
变量提供值,它将覆盖默认路径。
此外,删除 $Path
中 C:\Users
之前的 .
。
Param (
# Param1 Pfadparameter
[Parameter(Mandatory=$true, # Change this to $false.
Position=0,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
ValueFromRemainingArguments=$false,
ParameterSetName='Parameter Set 1')]
$Path = 'C:\Users\xyz\Desktop\Sheduling\temp\kurz.csv'
)
powershell script.ps1 -Path "C:\NewPath.csv" # will use C:\NewPath.csv as the $path
powershell script.ps1 # uses the C:\users\xyz\desktop\sheduling\temp\kurz.csv path.
我正在编写一个 PowerShell Skript,它从 CSV 文件中获取相关数据并创建一个新的 CSV 文件。 一切都按预期工作,但我在设置 Path 变量时遇到了问题。 每次我启动 Skript 时,我都会询问路径,即使我已经在 Param 块中指定了路径。
Param (
# Param1 Pfadparameter
[Parameter(Mandatory=$true,
Position=0,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
ValueFromRemainingArguments=$false,
ParameterSetName='Parameter Set 1')]
$Path = '.C:\Users\wkivan3\Desktop\Sheduling\Aufgabe\kurz.csv'
)
这里是使用 $Path 参数的行:
$Accountdaten = Get-Content -Path $Path | convertfrom-csv -Delimiter ';'
感谢您的帮助!
当您在参数部分使用 Mandatory = $true
时,这意味着您 必须 提供 运行 脚本。使 $false
成为可选的。如果您不提供该值,它将使用您定义的值作为默认值,但如果您在调用脚本时向 -Path
变量提供值,它将覆盖默认路径。
此外,删除 $Path
中 C:\Users
之前的 .
。
Param (
# Param1 Pfadparameter
[Parameter(Mandatory=$true, # Change this to $false.
Position=0,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
ValueFromRemainingArguments=$false,
ParameterSetName='Parameter Set 1')]
$Path = 'C:\Users\xyz\Desktop\Sheduling\temp\kurz.csv'
)
powershell script.ps1 -Path "C:\NewPath.csv" # will use C:\NewPath.csv as the $path
powershell script.ps1 # uses the C:\users\xyz\desktop\sheduling\temp\kurz.csv path.