Powershell脚本变量

问题描述 投票:0回答:1

我在PowerShell中设置了一些变量。这些变量是在脚本的开头创建的。但是,变量的值是在开始时执行的,依次给出错误消息。例如:

$checker = get-item -path C:\users\user\desktop\Foldername
$finder = Test-path -Path $checker
if($finder -eq $finder )
{

}
Else
{
  Create-Item -Path C:/users/user/desktop -name "Foldername" -itemtype Directory
}

我确实知道,如果运行此命令,它将给我一个错误,因为该目录从不存在,我可以更改变量顺序以避免错误。

我的问题是,此脚本将比此脚本包含更多的代码行,并且在需要避免错误时,我必须正确创建变量。

我如何像使用常规编程语言一样使用这些变量,在调用前将忽略这些变量。

powershell variables
1个回答
0
投票

使用Get-Item,然后再进行Test-Path检查不是一个好的设计。两种更好的方法:

  1. 仅使用Get-Item并检查$null以检查其是否存在:
$checker = Get-Item -Path C:\users\user\desktop\Foldername -ErrorAction SilentlyContinue
if ($checker) {
    # do something with the existing folder
} else {
    Create-Item -Path C:/users/user/desktop -Name "Foldername" -ItemType Directory
}
  1. 仅使用Test-Path检查其存在:
if (Test-Path -Path C:\users\user\desktop\Foldername) {
    # do something with the existing folder
} else {
    Create-Item -Path C:/users/user/desktop -Name "Foldername" -ItemType Directory
}
© www.soinside.com 2019 - 2024. All rights reserved.