82 lines
2.6 KiB
PowerShell
82 lines
2.6 KiB
PowerShell
# Script di installazione in macchina zip dell'ultima release di ThermoActive
|
|
|
|
# Check parameters
|
|
Param (
|
|
[Parameter(Mandatory=$True)]
|
|
[ValidateNotNull()]
|
|
$zipPath
|
|
)
|
|
|
|
# recupera timestamp x logging
|
|
function Get-TimeStamp
|
|
{
|
|
return "[{0:MM/dd/yy} {0:HH:mm:ss}]" -f (Get-Date)
|
|
}
|
|
# registra log!
|
|
function DoLog($txt2log)
|
|
{
|
|
Write-Output "$(Get-TimeStamp) $txt2log" | Out-File c:\tmp\Script.log -Append
|
|
}
|
|
|
|
function checkFolder($dirPath)
|
|
{
|
|
if(!(Test-Path -path $dirPath))
|
|
{
|
|
New-Item -ItemType directory -Path $dirPath
|
|
DoLog("Folder path has been created successfully at $dirPath")
|
|
}
|
|
}
|
|
|
|
Write-Output "-------------------------------- START script --------------------------------" | Out-File c:\tmp\Script.log
|
|
$StopWatch = New-Object System.Diagnostics.Stopwatch
|
|
$StopWatch.Start()
|
|
|
|
# directory di base
|
|
$BaseDir = "C:\CMS"
|
|
$ArchiveDir = "$BaseDir\Archive"
|
|
$BackupDir = "$BaseDir\Backup"
|
|
$ConfDir = "$BaseDir\Conf"
|
|
$LogDir = "$BaseDir\Logs"
|
|
$UnzipDir = "$BaseDir\Unzip"
|
|
$ProgramDir = "$BaseDir\ThermoActive"
|
|
|
|
$adesso = Get-Date -Format "yyyy.MM.dd_HH.mm"
|
|
|
|
# mi sposto in Dir di base
|
|
cd $BaseDir
|
|
|
|
# creo se non ci fosse dir varie
|
|
checkFolder($BaseDir)
|
|
checkFolder($ArchiveDir)
|
|
checkFolder($BackupDir)
|
|
checkFolder($ConfDir)
|
|
checkFolder($LogDir)
|
|
checkFolder($UnzipDir)
|
|
checkFolder($ProgramDir)
|
|
|
|
# Salvo CONF varie
|
|
robocopy $ProgramDir"\Config\" $BackupDir"\Config\" /MIR /Z /LOG:$LogDir"\Config.1.log"
|
|
robocopy $ProgramDir"\Dict\" $BackupDir"\Dict\" /MIR /Z /LOG:$LogDir"\Dict.1.log"
|
|
robocopy $ProgramDir"\Recipes\" $BackupDir"\Recipes\" /MIR /Z /LOG:$LogDir"\Recipes.1.log"
|
|
robocopy $ProgramDir"\TMP\" $BackupDir"\TMP\" /MIR /Z /LOG:$LogDir"\Tmp.1.log"
|
|
|
|
# Move versione attuale
|
|
Move-Item -Path $ProgramDir -Destination $ArchiveDir"\ThermoActive_$adesso"
|
|
|
|
# Faccio unzip NUOVA versione
|
|
Expand-Archive -Path $zipPath -DestinationPath $UnzipDir -Force
|
|
|
|
# Move da ZIP a program
|
|
Move-Item -Path $UnzipDir -Destination $ProgramDir
|
|
#robocopy $UnzipDir $ProgramDir /MIR /Z /LOG:$LogDir+"Newversion.log" /XD "Config Dict Recipes"
|
|
|
|
# Ripristino CONF
|
|
robocopy $BackupDir"\Config\" $ProgramDir"\Config\" /MIR /Z /LOG:$LogDir"\Config.2.log"
|
|
robocopy $BackupDir"\Dict\" $ProgramDir"\Dict\" /MIR /Z /LOG:$LogDir"\Dict.2.log"
|
|
robocopy $BackupDir"\Recipes\" $ProgramDir"\Recipes\" /MIR /Z /LOG:$LogDir"\Recipes.2.log"
|
|
robocopy $BackupDir"\TMP\" $ProgramDir"\TMP\" /MIR /Z /LOG:$LogDir"\Tmp.2.log"
|
|
|
|
$StopWatch.Stop()
|
|
$StopWatch.Elapsed | Out-File $LogDir"\Install.log" -Append
|
|
DoLog("-------------------------------- END script --------------------------------")
|