Home > Back-end >  PowerShell get directory of a program
PowerShell get directory of a program

Time:12-03

I recently wrote a script and want to share it with my colleagues. It’s a simple copy and paste program that creates log-files after each run. The problem is that I used this: start transcript -Path C:\Users…

The program works fine but if anyone else runs the script it won’t be able to create log-files, since the directory is a copy of mine.

Now to my question: Is there anyway that the program can find out the directory where each user saved the script so it can create a sub-folder in that directory and then dump the logs in there?

Thank you in advance

CodePudding user response:

The path to the folder containing the currently executing script can be obtained through the $PSScriptRoot automatic variable:

Start-Transcript -OutputDirectory $PSScriptRoot

CodePudding user response:

Here's how I record PowerShell sessions using the Start-Transcript cmdlet. It creates a log file, where the script is run from.

#Log File Paths
$Path = Get-Location
$Path = $Path.ToString()
$Date = Get-Date -Format "yyyy-MM-dd-hh-mm-ss"
$Post = "\"   (Get-Date -Format "yyyy-MM-dd-hh-mm-ss")   "-test.log"

$PostLog = $Path   $Post
$PostLog = $PostLog.ToString()

#Start Transcript
Start-Transcript -Path $PostLog -NoClobber -IncludeInvocationHeader

#Your Script
Get-Date

#End Transcript
Stop-Transcript -ErrorAction Ignore


  • Related