[英]PowerShell get directory of a program
我最近寫了一個腳本,想和我的同事分享。 這是一個簡單的復制和粘貼程序,每次運行后都會創建日志文件。 問題是我使用了這個: start transcript -Path C:\Users…
該程序運行良好,但如果其他人運行該腳本,它將無法創建日志文件,因為該目錄是我的副本。
現在我的問題是:程序是否可以找到每個用戶保存腳本的目錄,以便它可以在該目錄中創建一個子文件夾,然后將日志轉儲到那里?
先感謝您
包含當前執行腳本的文件夾的路徑可以通過$PSScriptRoot
自動變量獲得:
Start-Transcript -OutputDirectory $PSScriptRoot
下面是我使用Start-Transcript cmdlet 記錄 PowerShell 會話的方法。 它創建一個日志文件,腳本從中運行。
#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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.