IPv4的地址其實可以換成為一個長整形的數字,使用數字類型來表示IP地址時,可以非常方便的進行地址范圍的匹配比較。在.NET開發環境中一個IPAddress類,它的Address屬性就是十進制的數字,而IPAddressToString屬性是我們熟悉的點分十進制的字符串形式。
下面兩個過濾器,分別處理“點分十進制”字符串到數字的轉換和數字到“點分十進制”的轉換。
代碼如下:
//“點分十進制”字符串到數字的轉換
filter Convert-IP2Decimal
{
([IPAddress][String]([IPAddress]$_)).Address
}
//數字到“點分十進制”的轉換
filter Convert-Decimal2IP
{
([System.Net.IPAddress]$_).IPAddressToString
}
使用的時候,把這兩個filter導入到當前環境中,然后再使用管道執行。
代碼如下:PS C:/Documents and Settings/Administrator> filter Convert-IP2Decimal
>> {
>> ([IPAddress][String]([IPAddress]$_)).Address
>> }
>>
PS C:/Documents and Settings/Administrator>
PS C:/Documents and Settings/Administrator> filter Convert-Decimal2IP
>> {
>> ([System.Net.IPAddress]$_).IPAddressToString
>> }
>>
測試轉換效果:
代碼如下:PS C:/Documents and Settings/Administrator> "192.168.0.1" | Convert-IP2Decimal
16820416
PS C:/Documents and Settings/Administrator> 16820416 | Convert-Decimal2IP
192.168.0.1
PS C:/Documents and Settings/Administrator>
新聞熱點
疑難解答