簡體   English   中英

PowerShell 獲取程序目錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM