Чистая таблица типов данных PowerShell: строка, символ, дата и время, логический, массив, хэш-таблица, PSObject, пустота, математика, временной промежуток
Этот блог посвящен типам данных PowerShell. Что такое тип данных PowerShell? Типы данных определяют, что вы можете делать с объектом PowerShell. Например, объект datetime поддерживает добавление лет, с помощью объекта bool вы можете определить, является ли что-то истинным или ложным.
Цель состоит не в том, чтобы объяснять каждый тип данных отдельно, а лишь предоставить типы данных в виде шпаргалки, и дальше я рассмотрю самые распространенные типы данных, используемые в PowerShell. Я также приведу вам пример для каждого типа данных, чтобы вызвать идеи о работе с типами данных.
Вот список с некоторыми примерами для игры.
### String ###
$string='Patrick Gruenauer'
Determine the length of the string ...
$string.Length
Grab the first two letters ...
$first2=$string.Substring(0,2)
### Character ###
$char=[char]0x263a
### Byte ###
$byte=[byte]('0x'+'FE')
### DateTime ###
$birthday=[datetime]'03.23.1976'
Calculate your time on earth ...
$timeonearth=(Get-Date) - $birthday
### Boolean ###
Is it there or is it not there? Yes it is there! ==> True
$path=[bool](Get-ChildItem -Path C:\Windows -ErrorAction SilentlyContinue)
### Array ###
$array=[array]('Peter','Margit')
Retrieve the first item in array
$array[0]
### Hashtable ###
$hash=[hashtable]@{Arnold = '1';Alex= '9'}
Add an object to the hash table
$hash.Add('Markus','10')
### PSObject ###
Declaring as an array ...
$o=@()
Creating ordered hash tables ...
$obj=[ordered]@{
firstname = 'Patrick'
lastname = 'Gruenauer'
age = '43'
}
$obj2=[ordered]@{
firstname = 'Arnold'
lastname = 'Schwarzenburger'
age = '71'
}
Adding hash tables to $o and creating an object
$o += New-Object -Type PSObject -Property $obj
$o += New-Object -Type PSObject -Property $obj2
### Void ###
Send output to null
$none=[void]
### Math ###
Round to 5 decimals ...
$math=[math]::Round('12.221349876',5)
### TimeSpan ###
How many hours has a year?
[TimeSpan]::FromDays(365).Totalhours
Скопируйте этот код в вашу сессию PowerShell ISE (ise.exe) и откройте значения. Например, $o показывает Арнольда и меня!
Увидимся в следующий раз с PowerShell!
