45 lines
2.1 KiB
PowerShell
45 lines
2.1 KiB
PowerShell
$global:LDPlayerPath ="C:\Ldplayer\LDplayer9"
|
|
$instanceIP = "10.0.211.121"
|
|
function logger($logMessage) {
|
|
[int]$number = (get-content -path "$global:LDPlayerPath\index_count.txt")
|
|
if($number -gt 21){ $number=1}
|
|
$instanceList = Get-Content -Path "$global:LDPlayerPath\instanceList.txt"
|
|
$instanceNumber = $instanceList[$number-1]
|
|
$instanceData = (cat C:\Ldplayer\LDplayer9\vms\config\leidian${instanceNumber}.config)
|
|
$convertedData = $instanceData | ConvertFrom-Json
|
|
$name = $convertedData."statusSettings.playerName"
|
|
$count = $number
|
|
|
|
$scriptName = Split-Path -Leaf $PSCommandPath
|
|
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss.fff"
|
|
$timestampedLogMessage = $timestamp + "-$name, ($count/22)-$scriptName-PID: ${PID}-:" + $logMessage
|
|
$logFilePath = "$global:LDPlayerPath\LDAutoLog.txt"
|
|
$fs = New-Object System.IO.FileStream($logFilePath, [System.IO.FileMode]::Append, [System.IO.FileAccess]::Write, [System.IO.FileShare]::Read)
|
|
$sw = New-Object System.IO.StreamWriter($fs)
|
|
try {
|
|
$sw.WriteLine($timestampedLogMessage)
|
|
} finally {
|
|
$sw.Close()
|
|
$fs.Close()
|
|
}
|
|
}
|
|
|
|
[int]$cnt=0
|
|
while($true){
|
|
if($cnt%10 -eq 0) { logger("10 iterations passed starting ld instance again...");& $global:LDPlayerPath\closeLdplayer.ps1 ;& $global:LDPlayerPath\start_next_ldplayer.ps1}
|
|
if($cnt -lt 2){logger("Waiting for adb device to appear")}
|
|
$adbResponse = (adb connect $instanceIP)
|
|
$adbResponse
|
|
if($adbResponse -like "*connected to 10.0.211.121:5555*"){
|
|
logger("adb connected successfuly to 10.0.211.121 at iteration $cnt")
|
|
$isOnline = adb devices 2> $null
|
|
$pattern = [regex]::Escape($instanceIP) + ':\d+\s+device'
|
|
if($isOnline -match $pattern){
|
|
break
|
|
|
|
} else { return $true}
|
|
}
|
|
$instanceIP | Out-File -FilePath "C:\Ldplayer\Ldplayer9\restartADB.txt"
|
|
$cnt+=1
|
|
start-sleep -milliseconds 1000
|
|
} |