Reputation: 145
i'm trying to run a script which will run another powershell script. i need the first script to continue only after the other one is over. something like:
start Copy.ps1
wait till Copy.ps1 is done
continue with the script
tried using the Invoke-Expression but it doesn't have wait parameter.
Upvotes: 9
Views: 32915
Reputation: 794
I think you easily can do it by calling the file like this:
<#
here is some awesome code
#>
# Call P$ Script here
& C:\Path\To\CopyScript.ps1
<#
awesome code continues here
#>
it will call the whole script in Copy.ps1 and continues after copy.ps1 finished.
Other method is you set the whole script in copy.ps1 into a function.
in CopyScript.ps1:
function MyCopyFunction(){
# all code inside the Copy.ps1 is here
}
And in your new File:
# Call P$ Script here
& C:\Path\To\CopyScript.ps1
# then call the function
MyCopyFunction
Greetz Eldo.Ob
Upvotes: 2
Reputation: 1804
You can just put an ampersand in front of the script name, e.g.
& .\Copy.ps1
Upvotes: 6