如何在Powershell的目录中生成.htm文件的超链接?

时间:2013-07-04 13:35:47

标签: html url powershell hyperlink

我想扫描.htm文件的目录,然后生成那些.htm文件的超链接,并将结果输出到新的HTML文档。实现这一目标的最佳方法是什么?

到目前为止,我有这个:

Get-ChildItem "C:\test1\*.htm" -Recurse -Force |
  ConvertTo-Html -Fragment FullName, Name `
    -PreContent '<html><head><title>Test</title></head><body>' `
    -PostContent '</body></html>' |
  % { $_ -replace '<th>.*</th>','<th>Files</th>' `
         -replace '<td>(.*?)</td><td>(.*?)</td><td>(.*?)</td>',
                  '<td><a href="$1">$2</a> $3</td>'

  } | Set-Content "C:\$env:COMPUTERNAME-$(Get-Date -f dd-MM-yyyy-hh-mm-ss).htm"

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

Get-ChildItem "C:\*.htm" -Recurse -Force |
  ConvertTo-Html -Fragment FullName, Name, LastWriteTime `
    -PreContent '<html><head><title>Test</title></head><body>' `
    -PostContent '</body></html>' |
  % { $_ -replace '<th>.*</th>','<th>Files</th>' `
         -replace '<td>(.*?)</td><td>(.*?)</td><td>(.*?)</td>',
                  '<td><a href="$1">$2</a> $3</td>'

  } | Set-Content "C:\$env:COMPUTERNAME-$(Get-Date -f dd-MM-yyyy).htm"

答案 1 :(得分:0)

这可能就在您的街道上,您需要在Get-ChildItem行添加过滤器: Aaron Lerch Blog - Create Directory Table Of Contents With Powershell