我正在使用 Windows 2003 Server x86、Powershell 1.0 并遇到以下令人头疼的问题。当我尝试执行下面的脚本时,出现错误:
Error "=" operator: System error. (Fehler beim "="-Operator: Systemfehler.)
+ $data = <<<< Get-Content $log | % {
这是这个脚本:
$log = "C:\log file.txt"
$linePrefix = "PROCESS THIS LINE"
$trimStart = 25 #chars to ignore in the beginning
$started = 0
$data = Get-Content $log | % {
if ($_.length -ge $trimstart) {
$linedata = $_.substring($trimstart);
$timesline = $linedata.startswith($lineprefix);
if ($started -eq 0 -and $timesline) {
$started = 1;
}
if ($started) {
if ($timesline) {
$line = $linedata.substring($lineprefix.length).trimstart();
if ($line.contains(": ")) {
write-output $line
}
} else {
break;
}
}
}
}
但是,如果我在没有$data =
分配的情况下执行它,它会完美运行并返回我的预期值。我也尝试过以下陈述
$data = (...)
$data = $(...)
并用表达式声明一个函数但没有成功。
你能告诉我为什么会发生吗?
更新:我尝试在分配符号之前和之后删除空格并得到类似的错误,但现在 powershell 不喜欢$data=G
字符串
Error "=" operator: System error (Fehler beim "="-Operator: Systemfehler.)
At C:\kosmo\scripts\ps\test.ps1:60 Symbol:7
+ $data=G <<<< et-Content $log | % {