I have a small script for reading the AV def dates from a file.
$def = (gc "C:\Program Files\Common Files\Symantec
Shared\VirusDefs\usage.dat")[0,2,4] | foreach-object {$_.Remove(9,4)} |
foreach-object {$_.Trim("[" + "]")}
the output is three lines one per definition type.
yyyymmdd
yyyymmdd
yyyymmdd
I am looking to convert this to a UK style date output. say
$a = 30/11/2009
$b = 28/11/2009
$c = 18/11/2009
I have tried... adding
ForEach-Object {$yyyy = $_.Substring(0,4); $mm = $_.substring(4,2); $dd =
$_.Substring(6,2)}
With little success, any thoughts appreciated.
Many thanks
Kev
|
|
0
|
|
|
|
Reply
|
Utf
|
11/30/2009 9:28:01 PM |
|
WW91IGNhbiB1c2UgdGhlIFJlcGxhY2Ugb3BlcmF0b3IgdG8gbW9kaWZ5IHRoZSBvcmlnaW5hbCBT
dHJpbmdzIGJ5IGNhcHR1cmluZyB0aGUgZGlmZmVyZW50IGRhdGUgcGFydHMgYW5kIHJlYXJyYW5n
ZSB0aGVtOg0KDQojIHRvIGdldCBTdHJpbmdzDQokYSwgJGIsICRjID0gJzIwMDkxMTMwJywgJzIw
MDkxMTI4JywgJzIwMDkxMTE4JyB8DQogJSB7JF8gLXJlcGxhY2UgJyguLi4uKSguLikoLi4pJywg
JyQzLyQyLyQxJ30NCiRhDQokYg0KJGMNCg0KIyB0byBnZXQgRGF0ZVRpbWUgb2JqZWN0cw0KJGEs
ICRiLCAkYyA9ICcyMDA5MTEzMCcsICcyMDA5MTEyOCcsICcyMDA5MTExOCcgfA0KICUgeyRfIC1y
ZXBsYWNlICcoLi4uLikoLi4pKC4uKScsICckMy8kMi8kMScgLWFzICdEYXRlVGltZSd9DQokYQ0K
JGINCiRjDQoNCiMgb3IsIGlmIHlvdSBjdWx0dXJlIGlzIG5vdCAnZW4tR0InIG9yICdjeS1HQicu
Li4NCiRnYiA9IFtHbG9iYWxpemF0aW9uLkN1bHR1cmVJbmZvXSdlbi1HQicNCiRhLCAkYiwgJGMg
PSAnMjAwOTExMzAnLCAnMjAwOTExMjgnLCAnMjAwOTExMTgnIHwNCiAlIHtbRGF0ZVRpbWVdOjpQ
YXJzZSgoJF8gLXJlcGxhY2UgJyguLi4uKSguLikoLi4pJywgJyQzLyQyLyQxJyksICRnYil9DQok
YQ0KJGINCiRjDQoNCi0tIA0KUm9iZXJ0
|
|
0
|
|
|
|
Reply
|
Robert
|
11/30/2009 10:14:51 PM
|
|
Excellent, I was soo close had looked at -replace but not close enough.
much appreciated Robert.
K
"Robert Robelo" wrote:
> You can use the Replace operator to modify the original Strings by
> capturing the different date parts and rearrange them:
>
> # to get Strings
> $a, $b, $c = '20091130', '20091128', '20091118' |
> % {$_ -replace '(....)(..)(..)', '$3/$2/$1'}
> $a
> $b
> $c
>
> # to get DateTime objects
> $a, $b, $c = '20091130', '20091128', '20091118' |
> % {$_ -replace '(....)(..)(..)', '$3/$2/$1' -as 'DateTime'}
> $a
> $b
> $c
>
> # or, if you culture is not 'en-GB' or 'cy-GB'...
> $gb = [Globalization.CultureInfo]'en-GB'
> $a, $b, $c = '20091130', '20091128', '20091118' |
> % {[DateTime]::Parse(($_ -replace '(....)(..)(..)', '$3/$2/$1'), $gb)}
> $a
> $b
> $c
>
> --
> Robert
>
|
|
0
|
|
|
|
Reply
|
Utf
|
12/1/2009 8:21:01 AM
|
|