This is the script basically written to fetch the data from a single csv file for backup and issue that we are facing is the script gets executed but we are not able to find the file under C:\temp. Can you please help us in fixing this issue.
Function Set-abcBackup { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [String]$Filepath, [Parameter(Mandatory=$false)] [String]$Folder ) Begin { $Folder = "$Filepath\Backup_Files" If(!(Test-Path $Folder)) { mkdir $Folder -Force | Out-Null } $latestfile = Get-ChildItem "$Filepath\*.csv" | ? {$_.LastWriteTime -ge (Get-Date).Date} $filefullname = ($latestfile).FullName } Process { Get-Content $filefullname | select -Skip 22 > "$Folder\RemovedColumns.csv" $Getdata = Import-Csv "$Folder\RemovedColumns.csv" $Getdata | Export-Csv "$Folder\RemovedColumnsModified.csv" -NoTypeInformation $Newdata = Import-Csv "$Folder\RemovedColumnsModified.csv" $count = 0 Foreach($data in $newdata) { If($data.Client -notlike "Client") {$count1 = $count++} Else {$count1 = $count break } } $count2 = $count1+1 $count2 -as [int] | Out-Null Get-Content "$Folder\RemovedColumnsModified.csv" | select -Skip $count2 > "$Folder\Backup1.csv" $AllFiles = Import-Csv "$Folder\Backup1.csv" Foreach($file in $AllFiles) { $Client = $file.Client $Agent = $file.Agent $Status = $file.Status $BackupSet = $file.'Backup Set' $StartTime = $file.'Start Time' $Type = $file.Type $EndTime = $file.'End Time or Current Phase' $ScanType = $file.'Scan Type' If(($Client -notlike "*Protect*") -and ($Client -notlike "*Notes:*") -and ($Client -notlike "*Job*") -and ($Client -notlike "*#*") -and ($Client -notlike "*Sysbase*") -and ($Client -notlike "*Client*") -and ($Client -notlike "*SP_abc*") -and ($Client -notlike "*All*") -and ($Client -notlike "*4*") -and ($Client -notlike $null)){ $Client1 = $Client } If(($Status -like "*Comple*") -or ($Status -like "*Fail*")){$Status1 = $Status} If(($StartTime -notlike $null) -and ($StartTime -notlike "*N/A*") -and ($StartTime -notlike "*Current*") -and ($StartTime -notlike "*Out of*") -and ($StartTime -notlike "*Not*") -and ($StartTime -notlike "*VM Gue*")){$StartTime1 = $StartTime} If(($EndTime -notlike $null) -and ($EndTime -notlike "*Operating*") -and ($EndTime -notlike "*Linux*") -and ($EndTime -notlike "*CentOS*") -and ($EndTime -notlike "*Microsoft*") -and ($EndTime -notlike "*N/A*")){$EndTime1 = $EndTime} If(($Agent -notlike $null) -and ($Agent -notlike "*Virtual Ser*") -and ($Agent -notlike "*Active Dir*") -and ($Agent -notlike "*Apps*") -and ($Agent -notlike "*File System*") -and ($Agent -notlike "*Machine*") -and ($Agent -notlike "*SQL ser*") -and ($Agent -notlike "*Oracle*")) {$Agent1 = $Agent} If(($BackupSet -like "*Comple*") -or ($BackupSet -like "*Fail*")){$BackupSet1 = $BackupSet} If(($Type -notlike $null) -and ($Type -notlike "*INCR*") -and ($Type -notlike "*SYN*") -and ($Type -notlike "*Log*") -and ($Type -notlike "*FULL*") -and ($Type -notlike "*Start Ti*")){$Type1 = $Type} If(($ScanType -notlike $null) -and ($ScanType -notlike "*Classic*") -and ($ScanType -notlike "*Scan*") -and ($ScanType -notlike "*N/A*") -and ($ScanType -notlike "*N/A*") -and ($ScanType -notlike "*End Ti*")){$ScanType1 = $ScanType} $PSObject = New-Object PSObject Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "Name" -Value $Client1 Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "BackupStatus" -Value $Status1 Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "StartTime" -Value $StartTime1 Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "EndTime" -Value $EndTime1 $PSObject | Export-Csv "$Folder\FirstPart.csv" -NoTypeInformation -Force -Append $PSObject1 = New-Object PSObject Add-Member -InputObject $PSObject1 -MemberType NoteProperty -Name "Name" -Value $Agent1 -Force Add-Member -InputObject $PSObject1 -MemberType NoteProperty -Name "BackupStatus" -Value $BackupSet1 -Force Add-Member -InputObject $PSObject1 -MemberType NoteProperty -Name "StartTime" -Value $Type1 -Force Add-Member -InputObject $PSObject1 -MemberType NoteProperty -Name "EndTime" -Value $ScanType1 -Force $PSObject1 | Export-Csv "$Folder\SecondPart.csv" -NoTypeInformation -Force -Append } $csv1 = Import-Csv "$Folder\FirstPart.csv" $csv2 = Import-Csv "$Folder\SecondPart.csv" $merge = $csv1 + $csv2 $merge | select -Property * -Unique | Export-Csv "$Folder\xyz_Backup_Final.csv" -NoTypeInformation -Force $File = Import-Csv "$Folder\xyz_Backup_Final.csv" $File | % { $Name = $_.Name $Operation = "Backup" $Client = "xyz" $BStatus = $_.BackupStatus $End = $_.EndTime $Start = $_.StartTime $End_Time = [DateTime]::Parse($end) $Start_Time = [DateTime]::Parse($start) $_.starttime = ($Start_Time).tostring("dd/MM/yyyy hh:mm:ss") $_.endtime= ($End_Time).tostring("dd/MM/yyyy hh:mm:ss") $ST = $_.StartTime $ET = $_.EndTime $Total_Duration=$End_Time-$Start_Time $duration = $Total_Duration.tostring("hh':'mm':'ss") $PSObject = New-Object PSObject Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "Name" -Value $Name Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "Operation" -Value $Operation Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "BackupStatus" -Value $BStatus Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "Client" -Value $Client Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "StartTime" -Value $ST Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "EndTime" -Value $ET Add-Member -InputObject $PSObject -MemberType NoteProperty -Name "Duration" -Value $duration $PSObject | Export-Csv "$Folder\xyz_Backup.csv" -Force -NoTypeInformation -Append } } End { Move-Item -Path "$Folder\xyz_Backup.csv" -Destination "C:\Temp\xyz_Backup.csv" -Force Del $Folder -Recurse -Force #Get-ChildItem $Filepath -Filter "*.csv" | Remove-Item -Force } } Set-abcBackup -Filepath "C:\Path\To\CSV" -ErrorAction SilentlyContinue