Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从文本文件列表编写URL有效性检查脚本_Url_Powershell - Fatal编程技术网

从文本文件列表编写URL有效性检查脚本

从文本文件列表编写URL有效性检查脚本,url,powershell,Url,Powershell,我正在尝试修改在上找到的PowerShell脚本。我想将其更改为指定一个包含HTTP链接的大型文本文件,而不是将链接单独命名为参数 脚本解析文件后,我希望它只通过管道或回显有效的链接返回到新文件 我遇到了第一个障碍,甚至不知道如何将输入文件作为参数传入 脚本的直接链接是 它显示了它希望通过管道导入url的脚本。变量$\uuz表示当前管道对象。因此,如果每行URL中包含的文本文件,您可以执行以下操作: Get-Content Urls.txt | Where {$_ -notmatch '^\s*

我正在尝试修改在上找到的PowerShell脚本。我想将其更改为指定一个包含HTTP链接的大型文本文件,而不是将链接单独命名为参数

脚本解析文件后,我希望它只通过管道或回显有效的链接返回到新文件

我遇到了第一个障碍,甚至不知道如何将输入文件作为参数传入

脚本的直接链接是


它显示了它希望通过管道导入
url
的脚本。变量
$\uuz
表示当前管道对象。因此,如果每行URL中包含的文本文件,您可以执行以下操作:

Get-Content Urls.txt | Where {$_ -notmatch '^\s*$'} | Check-Url

我将
放置在管道中以消除空行。

根据请求将有效URL管道化到文件(添加到Keith的答案中):


有完整源代码的最终解决方案吗?未找到您可以在以下位置查看原始源代码。。。但它被移到了。。。我已经提交了问题的更新。
Get-Content Urls.txt | Where {$_ -notmatch '^\s*$'} | Check-Url
$validUrls = ".\ValidUrls.txt"
if (Test-Path $validUrls) { Remove-Item -Force $validUrls }
$result = New-Item -Type File -Path $validUrls

Get-Content Urls.txt | Where {$_ -notmatch '^\s*$'} | Foreach-Object {
   $url = ($_ | Check-Url)
   if ($url.IsValid)
   {
      $url.Url | Out-File $result -Append
   }
}