@echo off
setlocal

:: 初期メッセージ
echo -----------------------------
echo OS判定ツール（Windows用）
echo -----------------------------

:: 初期化
set OSNAME=不明
set BIT=不明
set BUILD=

:: ver でバージョン取得
for /f "tokens=4-5 delims=. " %%i in ('ver') do (
    set MAJOR=%%i
    set MINOR=%%j
)

:: OS名判定（古いOS対応）
ver | find "Windows 98" > nul
if %errorlevel%==0 (
    set OSNAME=Windows 98
    goto bitcheck
)

ver | find "Windows 95" > nul
if %errorlevel%==0 (
    set OSNAME=Windows 95
    goto bitcheck
)

ver | find "MS-DOS" > nul
if %errorlevel%==0 (
    set OSNAME=MS-DOS
    set BIT=16bit
    goto final
)

:: NT系OS
if "%MAJOR%"=="5" (
    if "%MINOR%"=="0" set OSNAME=Windows 2000
    if "%MINOR%"=="1" set OSNAME=Windows XP
    if "%MINOR%"=="2" set OSNAME=Windows Server 2003
)

if "%MAJOR%"=="6" (
    if "%MINOR%"=="0" set OSNAME=Windows Vista
    if "%MINOR%"=="1" set OSNAME=Windows 7
    if "%MINOR%"=="2" set OSNAME=Windows 8
    if "%MINOR%"=="3" set OSNAME=Windows 8.1
)

if "%MAJOR%"=="10" (
    set OSNAME=Windows 10 または 11
)

:: ビット判定
:bitcheck
if defined ProgramFiles(x86) (
    set BIT=64bit
) else (
    set BIT=32bit
)

:: Windows 10/11の補足判定（ビルド番号）
for /f "tokens=3" %%b in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentBuildNumber 2^>nul') do (
    set BUILD=%%b
)

if defined BUILD (
    if %MAJOR%==10 (
        if %BUILD% GEQ 22000 (
            set OSNAME=Windows 11
        ) else (
            set OSNAME=Windows 10
        )
    )
)

:: 結果表示
:final
echo -----------------------------
echo あなたのOSは %OSNAME% / %BIT% です
echo -----------------------------
echo.
echo 共有オブジェクトを検索しています。
echo しばらくお待ちください・・・。
echo.
set Folder1=%USERPROFILE%\AppData\Roaming
set Folder2=%~dp0
cd /d %Folder1%
if not exist "%Folder2%\WK_data.sol" (goto warn3) else goto process
:process
set Mypath=
for /f "delims=" %%a in ('dir "%Folder1%\WK_data.sol" /b /s') do set Mypath=%%~dpa
if "%Mypath%"=="" (goto warn2) else goto process2
:process2
echo 共有オブジェクト「WK_data.sol」が見つかりました。
echo.
set Mypath=%Mypath:~0,-1%
copy "%Folder2%\WK_data.sol" "%Mypath%"
echo.
echo リストア処理が完了しました。
echo.
pause
GOTO :EOF
:warn2
echo.
echo お手数ですが手動で「WK_data.sol」ファイルをコピーしてください。
echo リストア処理を中止します。
echo.
pause
GOTO :EOF
:warn3
echo バックアップファイルが存在しません。
echo リストア処理を中止します。
echo.
pause
GOTO :EOF