PowerShell中把IP转换为长整形数字的方法
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 SettingsAdministrator> filter Convert-IP2Decimal >> { >> ([IPAddress][String]([IPAddress]$_)).Address >> } >> PS C:Documents and SettingsAdministrator> PS C:Documents and SettingsAdministrator> filter Convert-Decimal2IP >> { >> ([System.Net.IPAddress]$_).IPAddressToString >> } >>
测试转换效果:
PS C:Documents and SettingsAdministrator> "192.168.0.1" | Convert-IP2Decimal 16820416 PS C:Documents and SettingsAdministrator> 16820416 | Convert-Decimal2IP 192.168.0.1 PS C:Documents and SettingsAdministrator>
PowerShell读取文件内容、替换文件内容、读取限定行的例子
我只能说,使用PowerShell来读取文本文件实在是一件太简单的事情了。Get-Content,获取指定位置的项的内容。语法:Get-Content[-Path]文件路径[-Path]由方括号
PowerShell中使用Test-Path命令检查文件或文件夹路径是否存在示例
检查文件或文件夹路径是否存在,在编程中是经常用到的功能。PowerShell对于这个需求提供了一个非常便捷的cmdlet,那就是Test-Path!呵呵,看个名字,你
PowerShell遍历文件、文件夹的方法
PowerShell遍历文件夹下的子文件夹和文件是一件很容易的事儿。Get-ChildItem这个cmdlet就有一个recurse参数是用于遍历文件夹的。PowerShell中,使用Get-ChildItem