从字段中提取html内容,并使用PowerShell为每个记录保存一个文件

时间:2016-09-14 13:25:55

标签: html sql-server powershell

我有一个具有这种结构的SQL Server表:

CODE  | DATA
------+---------------------------
x3456 | html body ... ecc ecc
x3457 | html body ... ecc ecc...

data包含一个完整的html页面。

预期结果:

我想在适当的文件夹中为每个包含从字段中提取的html代码的记录生成一个文件。

例如:

temp\
x3456.html
x3457.html 
ecc ecc... 

我想通过powershell脚本实现这一点..有可能吗?

一些例子?

由于

1 个答案:

答案 0 :(得分:0)

我从两个不同的谷歌搜索中完全窃取了这个代码,首先是"使用powershell"查询sql,第二个是" powershell写入文件"。复制,粘贴,完成。

function sql($sqlText, $database = "master", $server = ".")
{
    write-host $server
    $connection = new-object System.Data.SqlClient.SQLConnection("Data Source=$server;Integrated Security=SSPI;Initial Catalog=$database");
    $cmd = new-object System.Data.SqlClient.SqlCommand($sqlText, $connection);

    $connection.Open();
    $reader = $cmd.ExecuteReader()

    $results = @()
    while ($reader.Read())
    {
        $row = @{}
        for ($i = 0; $i -lt $reader.FieldCount; $i++)
        {
            $row[$reader.GetName($i)] = $reader.GetValue($i)
        }
        $results += new-object psobject -property $row            
    }
    $connection.Close();

    $results
}

$results = sql -sqltext "select * from mssqi" -database "test" -server "svr-sql-01"

foreach ($row in $results)
{
    $stream = [System.IO.StreamWriter] $row.Code
    $stream.WriteLine($row.Data)
    $stream.Close()
}