这是我尝试过的第一个powershell脚本。当我运行它时,第一部分运行正常并创建log.txt,但在再次运行它之后仍然运行第1部分。如何检查日志文件是否存在?
编辑:我忘了提到我正在运行PowerShell ISE中的脚本,如果这有所不同。
#Variables.
#Set working directory to scripts location.
$scriptpath = $MyInvocation.MyCommand.Path
$dir = Split-Path $scriptpath
#Check if log file exists.
$ChkFile = "%userprofile%\Desktop\log.txt"
$FileExists = (Test-Path $ChkFile -PathType Leaf)
#Set dir to script location.
Set-Location $dir
#Part 1.
If (!($FileExists))
{
Write-Host "Part 1"
echo 0 >>log.txt
}
#Part 2.
ElseIf ($FileExists)
{
Write-Host "Part 2"
}
答案 0 :(得分:7)
%
用于cmd.exe变量扩展。 PowerShell需要不同的语法。而是使用:
"$env:userprofile\Desktop\log.txt"