我最近寫了一個腳本,想和我的同事分享。這是一個簡單的復制和粘貼程式,每次運行后都會創建日志檔案。問題是我使用了這個: start transcript -Path C:\Users…
該程式運行良好,但如果其他人運行該腳本,它將無法創建日志檔案,因為該目錄是我的副本。
現在我的問題是:無論如何,程式是否可以找到每個用戶保存腳本的目錄,以便它可以在該目錄中創建一個子檔案夾,然后將日志轉儲到那里?
先感謝您
uj5u.com熱心網友回復:
可通過獲得包含當前正在執行腳本的檔案夾的路徑的$PSScriptRoot自動變數:
Start-Transcript -OutputDirectory $PSScriptRoot
uj5u.com熱心網友回復:
下面是我使用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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/372240.html
