Powershell KML 生成在循环中操作时间戳
Powershell KML Generation Manipulate Timestamp in Loop
我有一段 powershell 代码,如下所示:
$(
foreach ($csv in $csvfiles) {
$fname = (Get-Item $csv).Basename
'<Folder>
<name>{0}</name>' -f $fname
$(
Import-Csv $csv |
foreach {
'<Placemark>
<name>{0} - {1}</name>
<TimeStamp>
<begin>{1}</begin>
<end>{1}</end>
</TimeStamp>
<description>Information - {4}</description>
<styleUrl>#{5}</styleUrl>
<Point>
<coordinates>{2},{3}</coordinates>
</Point>
</Placemark>
' -f $_.Variable, $_.Timestamp, $_.Variable2, $_.Variable3, $_.Variable4, $_.Color
}
)
'</Folder>'
}
)
以上代码有效。我试图让我的地标持续更长的时间,这样如果滑块移出秒字段,它们就不会消失。时间戳的格式为:
2017-07-26T19:03:40Z
有时时间戳会移动到 41 或 39 秒,并且在 Google 地球中移动滑块时,您会丢失地标,因为它以 1 分钟为增量移动...这就是我想。我想通过在实际时间戳上减去和添加 20 秒来为地标设置开始和结束时间戳。我怎样才能使用下面的代码做到这一点?有没有一种简单的方法可以让我在时间戳中减去和添加秒数,并且仍然将其用作该循环中 KML 文件的输入?
也许您可以尝试以下方法来去除秒数:
-f $_.Variable, $($_.Timestamp -replace '^(.*)(\d\d)(.*)$','00'), $_.Variable2, $_.Variable3, $_.Variable4, $_.Color
$()
: 允许先计算新值。
-replace regex, newvalue
: 用 00
.
补秒
第一次捕获时我使用 </code> 以避免 100 美元毫无意义,第二次捕获被替换为 <code>00
第三次捕获保持原样。
我有一段 powershell 代码,如下所示:
$(
foreach ($csv in $csvfiles) {
$fname = (Get-Item $csv).Basename
'<Folder>
<name>{0}</name>' -f $fname
$(
Import-Csv $csv |
foreach {
'<Placemark>
<name>{0} - {1}</name>
<TimeStamp>
<begin>{1}</begin>
<end>{1}</end>
</TimeStamp>
<description>Information - {4}</description>
<styleUrl>#{5}</styleUrl>
<Point>
<coordinates>{2},{3}</coordinates>
</Point>
</Placemark>
' -f $_.Variable, $_.Timestamp, $_.Variable2, $_.Variable3, $_.Variable4, $_.Color
}
)
'</Folder>'
}
)
以上代码有效。我试图让我的地标持续更长的时间,这样如果滑块移出秒字段,它们就不会消失。时间戳的格式为:
2017-07-26T19:03:40Z
有时时间戳会移动到 41 或 39 秒,并且在 Google 地球中移动滑块时,您会丢失地标,因为它以 1 分钟为增量移动...这就是我想。我想通过在实际时间戳上减去和添加 20 秒来为地标设置开始和结束时间戳。我怎样才能使用下面的代码做到这一点?有没有一种简单的方法可以让我在时间戳中减去和添加秒数,并且仍然将其用作该循环中 KML 文件的输入?
也许您可以尝试以下方法来去除秒数:
-f $_.Variable, $($_.Timestamp -replace '^(.*)(\d\d)(.*)$','00'), $_.Variable2, $_.Variable3, $_.Variable4, $_.Color
$()
: 允许先计算新值。
-replace regex, newvalue
: 用 00
.
第一次捕获时我使用 </code> 以避免 100 美元毫无意义,第二次捕获被替换为 <code>00
第三次捕获保持原样。