Jan 27 2021 08:42 AM
Hi expert,
I am trying to extract http:// URL from given file but getting empty file in export
here is the code
$items = Get-ChildItem -LiteralPath "E:\Backup_Testinstance\" |
Where-Object {$_.Extension -eq "http://"}
$array = New-Object System.Collections.ArrayList
foreach ($item in $items)
{
foreach ($item in $items) {
$array.Add([pscustomobject]@{
"Name File" = $item.name
"Path" = $item.FullName
}) | Out-Null
}
$array | Export-csv E:\Backup_Testinstance\test2.csv
sdfadsfdsafadsf http:// Google.com/search/fddggddfadfdsfdfdfadsfgdadsfdsfdsfd 99999999
sdfadsfdsafadsf http:// van.com/search/fddggddfadfdsfdfdfdsfgdadsfdsfdsfd 99999999
sdfadsfdsafadsf http:// gem.com/search/fddggddfadfdsfdfadsfgdadsfdsfdsfd 99999999
sdfadsfdsafadsf http:// cart.com/search/fddggdfdsfdfdfadsfgdadsfdsfdsfd 99999999
Jan 27 2021 11:00 AM
I dont know if I miss a point in your code, but in the first line, the Where-Object {$_.Extension -like "https://"}
I don't think this is a valid file extension.
an Empty file in the export means an empty result, lets try the first step
what is the output of this line
$items = Get-ChildItem -LiteralPath "E:\Backup_Testinstance\" | Where-Object {$_.Extension -eq "http://"}
Jan 27 2021 11:03 AM
I tried this but getting http plus some records i do not want records after space
Get-ChildItem -Path C:\check\two -recurse | Select-String -Pattern "http://" | ` Select-Object -Property Path,LineNumber,Line | ` Export-CSV "C:\check\ResultFile.csv"
Shree
Jan 27 2021 11:08 AM
Jan 27 2021 11:19 AM - edited Jan 27 2021 11:20 AM
OK, would you please post a sample of the text file you are reading from.
and also explain a bit more on how the result should look like
Just to give you a small hint, what you need to do is using Regex, but I will wait for your reply to confirm.
Jan 27 2021 11:21 AM
http://hdfcebank.com/jhgsfgdsf ;kkjhadsf;kjnsdf ;kkjhadsf;kjnsdf ;kkjhadsf;kjnsdf ;kkjhadsf;kjnsdf
http://hdfcebank.com/jhgsfgdsf ;kkjhadsf;kjnsdf ;kkjhadsf;kjnsdf ;kkjhadsf;kjnsdf ;kkjhadsf;kjnsdf ;kkjhadsf;kjnsdf
http://cart.com/jhgsfgdsf ;kkjhadsf;kjnsdf ;kkjhadsf;kjnsdf
http://hdfcebank.com/jhgsfgdsf kuhsdfkhdsf
http://hdfcebank.com/jhgsfgdsf uhsfdhkjlsfd
lksdfsdkndsf
;lnskfdkjnsdf
hblshdfkjhdfs
Jan 27 2021 12:55 PM
Jan 27 2021 11:32 PM
I had created a file and add the sample you provide
and using this code, was able to get the result with only http://websitename without spaces
$items=(($x=Get-Content -Path C:\test.txt).split(";") | where {$_ -like "http://*"})
foreach ($item in $items){
($item.split(" "))[0]
}
Jan 29 2021 03:34 PM
Jan 30 2021 04:22 AM
What is the error you are getting, Are you sure that Powershell is running as Administartor.
cause usually the Get-Content will throw an Access Denied exception if reach the file was blocked, but not running the command it self.