2012-03-12 11 views
2

私がここに投稿した別の質問に基づいて、このスクリプトの大部分を動作させることができましたが、選択オブジェクトの書式を変更する方法はわかりません。 Googleは役に立たなかった。変数を出力する際のストリップヘッダー

$head = @' 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Current Conditions</title> 
    </head> 

    <body style="background-color:#EEEEEE"> 
    <h3 style="margin:0;padding-bottom:3px">Current Conditions at 
'@ 

$1 = @' 
</h3> 
    <p style="margin:0;padding-bottom:0px"><b>Dewpoint: </b> 
'@ 

$2 = @' 
</p> 
    <p style="margin:0;padding-bottom:0px"><b>Temperature: </b> 
'@ 

$3 = @' 
</p> 
    <p style="margin:0;padding-bottom:3px"><b>Humidity: </b> 
'@ 

$end = @' 
</p> 
    </body> 
</html> 
'@ 

$info = import-csv 1-pastweek.csv 
$time = $info | select -last 1 Time 
$temp = $info | select -last 1 Temp 
$humid = $info | select -last 1 Humid 
$dewpt = $info | select -last 1 Dewpt 

$head + $time + $1 + $dewpt + $2 + $temp + $3 + $humid + $end | out-file -encoding "UTF8" current.html 

これは機能しますが、HTML出力の形式は、CSVからヘッダ情報が含まれており、私はそれを回避する方法が表示されません。

Current Conditions at @{TIME=03/12/2012 15:32:22} 

Dewpoint: @{DEWPT=62.7} 

Temperature: @{TEMP=71.9} 

Humidity: @{HUMID=74.4} 

@ {HEADER}を消す方法に関するアイデア。私は実際のデータだけを必要とします。

答えて

2

何を試していたのですか?プロパティを持つオブジェクトではなく、実際の値を取得するには、-expandpropertyを追加するだけでした。例えば

$time = $info | select -last 1 -expand Time 

、これはあなたが持っている可能性があり、あなたがやっているすべての、あなたは$time.TIMEなどを使用しようとしているある場合は、むしろまた$time.TIME

よりも、直接$timeを使用することができます行わ:

$info = import-csv 1-pastweek.cs | select -last 1 

$info.Timeなど

を使用
+0

ありがとうございます。私は実際にexpandpropertyを見つけましたが、正しく使用しませんでした。また、私はあなたの最後のビットが好きです。それが私のやり方です。それは簡単です。ありがとうございました。 –

1

あなたが投稿したものはすべて正しいですが、これらの文字列を組み合わせるのにどのようなコードを使用していますか?

あなたがやっても次のようになります

$head + $time + $1 + $dewpt + $2 + $temp + $3 + $humid + $end 

あなたがそうのような中間オブジェクトの一部を指定したい:

$head + $time.TIME + $1 + $dewpt.DEWPT + $2 + $temp.TEMP + $3 + $humid.HUMID + $end 

この構文を使用して、ハッシュテーブルを使用していることを前提としてい(@{})を押してオブジェクトを保持します。

+0

これは私が見た最も簡単な修正でした。 (私はちょっとしたバカのような気がします。)しかし、ありがとうございました。 –

関連する問題