Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

To run a bash script line-by-line (so as to preserve environment variables, for instance), one does the following:

$ . myscript.sh


$ source myscript.sh

I have a PowerShell script that - among other things - sets the value of the prompt via function called prompt. Simply running this script (".\myscript.ps1") does not change the prompt. However, running function line-by-line as a command does.

So what I effectively need is something like the source command for PowerShell. Is it possible?

EDIT: Should this post be moved to Stackoverflow?

Clarification 1: Since I run this function only on a need basis (i.e., not for every powershell session and/or always), I do not want to store in my powershell startup profile.

share|improve this question
Note: your two Bash commands are different. You probably didn't mean to have the dot in the second one or you meant both of them to have "./" (current directory) at the beginning of the script name. –  Dennis Williamson Nov 17 '09 at 13:24
Fixed it (by removing the dot) –  Sridhar Ratnakumar Nov 18 '09 at 22:33

1 Answer 1

up vote 17 down vote accepted

You can "dot source" in PowerShell as well. You just need to make sure that you specify the full path. So, if the script you want to load is in the local directory you would do:

PS C:\>. .\myscript.ps1
share|improve this answer
THIS is the right answer :) dot sourcing in PowerShell works pretty much just like in Bash –  Jaykul Nov 17 '09 at 4:30
I had no idea you could do that. nice. –  DaveParillo Nov 17 '09 at 4:52
Whoa! How come I didn't try it before? :) –  Sridhar Ratnakumar Nov 18 '09 at 22:25

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.