我在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
}
我确实知道,如果运行此命令,它将给我一个错误,因为该目录从不存在,我可以更改变量顺序以避免错误。
我的问题是,此脚本将比此脚本包含更多的代码行,并且在需要避免错误时,我必须正确创建变量。
我如何像使用常规编程语言一样使用这些变量,在调用前将忽略这些变量。
使用Get-Item
,然后再进行Test-Path
检查不是一个好的设计。两种更好的方法:
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
}
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
}