【问题标题】:How to generate hyperlinks to .htm files in a directory in Powershell?如何在 Powershell 的目录中生成指向 .htm 文件的超链接?
【发布时间】:2013-07-02 13:02:19
【问题描述】:

我想扫描目录中的 .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"

【问题讨论】:

    标签: html url powershell hyperlink


    【解决方案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"
    

    【讨论】:

    • 我正在努力采用上面的代码来生成 .htm 文件。我尝试了上面代码的以下版本:**Get-ChildItem "C:*.htm" -Recurse -Force | $b = ConvertTo-Html -Fragment Name, LastWriteTime ` -PreContent ' Test' ` -PostContent '' | % { $_ -replace '.*','文件' ` -replace '(.*?) (.* ?) (.*?)', ' $2 $3' } $b |设置内容 c:\"$env:computername-$(get-date -f dd-MM-yyyy)".htm**
    • 这不起作用:... | $b = ...。您不能通过管道输入赋值语句。我在答案中添加了Set-Content
    • 感谢您的回复。现在代码正在生成 .htm 文件,但它不会插入扫描文件的超链接。我是 Powershell 的新手,所以真的不知道问题出在哪里。感谢您的帮助。
    • 请出示您更新后的代码。不要将其作为评论发布。改为编辑您的问题。
    • 我已经更新了问题中的代码。正如我所提到的,我真的不知道代码中的问题在哪里。
    【解决方案2】:

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

    【讨论】:

    • 感谢您的回复。我要试一试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多