1..10 | foreach-object {
        $fileName = "file_name_$_.txt"
        Write-Progress -Activity "Copying files" -Status "$($_*10) %" -Id 1 -PercentComplete ($_*10) -CurrentOperation "Copying file $fileName"
            
        1..100 | foreach-object {
            Write-Progress -Activity "Copying contents of the file $fileName" -Status "$_ %" -Id 2 -ParentId 1 -PercentComplete $_ -CurrentOperation "Copying $_. line"
            
            Start-Sleep -Milliseconds 20 # sleep simulates working code, replace this line with your executive code (i.e. file copying)
        }

        Start-Sleep -Milliseconds 500 # sleep simulates working code, replace this line with your executive code (i.e. file search)

   }

Please note that for brevity this example does not contain any executive code (simulated with Start-Sleep). However it is possible to run it directly as is and than modify and play with it.

This is how result looks in PS console:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ec68f662-2a8c-45f6-b60c-9c3350c1bec7/Untitled.png

This is how result looks in PS ISE:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2233d5c3-e12b-4fa9-8e86-56ecf87adf84/Untitled.png