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 | % {