You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell从起始IP生成连续IP段并导出为CSV?

PowerShell实现指定IP段生成并导出CSV

需求说明

  • 读取起始IP列表(示例如下),自动过滤无效行:
    Start IP            
    192.168.100.1       
    172.1.1.1   
    
  • 按规则生成连续IP段:
    • 针对192.168.100.1,生成从192.168.100.1到192.168.254.1的所有IP
    • 针对172.1.1.1,生成从172.1.1.1到173.1.254.1的所有IP
  • 将最终结果导出为CSV文件

完整实现脚本

替换文件路径后即可直接运行:

# 定义输入文件路径和输出CSV路径
$ipFilePath = "c:\test\ip.txt"
$outputCsvPath = "c:\test\generated_ips.csv"

# 初始化存储生成IP的数组
$generatedIPs = @()

# 逐行处理输入文件
foreach($line in Get-Content $ipFilePath) {
    # 跳过空行和非IP格式的行
    if ($line -notmatch '^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$') {
        continue
    }

    # 用正则拆分IP的四个八位组
    $ipMatch = [regex]::Match($line, '^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$')
    [int]$octet1 = $ipMatch.Groups[1].Value
    [int]$octet2 = $ipMatch.Groups[2].Value
    [int]$octet3 = $ipMatch.Groups[3].Value
    [int]$octet4 = $ipMatch.Groups[4].Value

    # 按前缀匹配生成规则
    if ($octet1 -eq 192 -and $octet2 -eq 168) {
        # 固定192.168.x.1,x从起始值递增到254
        for ($i = $octet3; $i -le 254; $i++) {
            $generatedIPs += [PSCustomObject]@{
                IPAddress = "$octet1.$octet2.$i.$octet4"
            }
        }
    }
    elseif ($octet1 -eq 172 -and $octet2 -eq 1) {
        # 第一阶段:172.1.x.1,x从起始值到254
        for ($i = $octet3; $i -le 254; $i++) {
            $generatedIPs += [PSCustomObject]@{
                IPAddress = "$octet1.$octet2.$i.$octet4"
            }
        }
        # 第二阶段:173.1.x.1,x从1到254
        $newOctet1 = $octet1 + 1
        for ($i = 1; $i -le 254; $i++) {
            $generatedIPs += [PSCustomObject]@{
                IPAddress = "$newOctet1.$octet2.$i.$octet4"
            }
        }
    }
}

# 导出为CSV文件(-NoTypeInformation避免生成冗余类型行)
$generatedIPs | Export-Csv -Path $outputCsvPath -NoTypeInformation -Encoding UTF8

关键逻辑说明

  1. IP有效性过滤:用正则^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$精准匹配IP格式,自动跳过标题行和空行
  2. IP拆分与递增:通过正则拆分IP的四个字段,根据前缀判断生成规则,针对性递增对应字段
  3. CSV结构化导出:用PSCustomObject封装IP数据,确保导出的CSV格式规范,可直接用表格工具打开

内容的提问来源于stack exchange,提问作者Roxx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 20:50:27