我们有几个服务器在本地保存日志文件,我试图自动将日志记录到单个网络位置,该位置具有存储日志文件的父文件夹的名称和修改日期时间戳
服务器 1 D:\Projects\Ohio\(Rel1)\BuildScripts\logs
服务器 2D:\Projects\Ohio\(Rel2)\BuildScripts\logs
服务器 3D:\Projects\Ohio\(Rel3)\BuildScripts\logs
尝试将所有日志复制到R:\Logs\CruiseControl\(Rel.AW) \logs+timestamp\logfiles.txt
到目前为止,我能够使用下面的脚本为服务器 1 设置它,但问题是服务器 1、服务器 2 和服务器 3 需要调用相同的脚本,并且每次日志都需要转到特定的流(Rel1、Rel2、Rel3)我如何引用流名称?
$logDir = 'D:\Projects\Ohio\Rel.AW\BuildScripts\logs'
$copyDir = 'R:\Logs\CruiseControl\Rel.AW'
Get-ChildItem $logDir -File | ForEach {
$parentFolder = $_.Directory.Name
$timeStamp = $_.LastWriteTime.ToString('MMddyyyy')
$path = Join-Path -Path $copyDir -ChildPath "$($parentFolder)_$($timeStamp)"
Write-Host "Path to copy to is: $path" -ForegroundColor Green
}
robocopy $logDir $path /log+:R:\Logs\CruiseControl\Rel.AW\log
答案1
PowerShell 3.0-5.0:PowerShell 工作流:基础知识
Workflow <workflow name> {
foreach –parallel ($object in $objects){
<code> ... </code>
}
}
PowerShell 2 作业:线程 Ping