WindowsでSteamを起動するとかシャットダウンするとか

 すべて PowerShell です

起動確認

function Get-Steam-Process{
    return Get-Process -Name "Steam" -ErrorAction SilentlyContinue
}

定数宣言

$script:steamExe = "C:\Program Files (x86)\Steam\steam.exe"

Steamをシャットダウン

function Close-Steam {
    $steamProcess = Get-Steam-Process
    if ($steamProcess) {
        & $script:steamExe -shutdown
    } else {
        Write-Output "Steam is not running."
    }
    # wait for steam to shutdown
    $steamProcess = Get-Steam-Process
    while ($steamProcess) {
        Start-Sleep -Seconds 1
        $steamProcess = Get-Steam-Process
    }

}

Steamを起動

function Start-Steam {
    param (
        [string]$userName = $script:defaultUserName,
        [string]$appId = $script:defaultAppId
    )
    
    Close-Steam
    Start-Process $script:steamExe -ArgumentList "-login $userName -applaunch $appId"
    Write-Output "Steam is starting."
}

 あらかじめスクリプトレベルで `$script:defaultUserName` と `$script:defaultAppId` は宣言しておくこと

$appId は Steam のアプリのIDです。ストアページとかのURLにも埋め込まれている。

$userName は(非常に治安が悪いんですが)  "<userName> <password>" で指定します。こうすることによって複数ユーザの環境に対応できます。


この記事が気に入ったらサポートをしてみませんか?