0

I would like to scan a directory for .htm files and then generate hyperlinks to those .htm files and output the result to a new HTML document. What is the best way to achieve this?

So far I have this:

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"
4

2 回答 2

3

You could try something like this:

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"
于 2013-07-04T14:01:32.647 回答
0

This could be right up your street, you would need to add a filter to the Get-ChildItem line though: Aaron Lerch Blog - Create Directory Table Of Contents With Powershell

于 2013-07-04T18:32:10.107 回答