私はいくつかの事柄に基づいて数値を計算する次のバッチスクリプトを持っていますが、その数字はかなり大きい数字です(例)76561197960287930以下です。無効な番号です。数字は32ビットの精度に制限されています
@echo off
if NOT %1a == a goto recurse
reg query HKCU\Software\Valve\Steam\Users > users.tmp
echo.
echo
for /f "skip=1 delims=\ tokens=6" %%i in (users.tmp) do call %0 %%i
del users.tmp
echo
pause>nul
goto end
:recurse
set SID=%1
set /A SID=SID/2
set /A SID1=SID*2
set STEAMBIT=0
if NOT %SID1% == %1 set STEAMBIT=1
echo UserID: %SID%
echo %SID% > userid.txt
SET /A Result = (%SID% * 2) + (%STEAMBIT% + 76561197960265728)
echo %result% > useridresult.txt
goto end
:end
exit
修正プログラムや回避策はありますか?おかげ
Set/Aドキュメントから:PowerShellまたはVBScriptを使用して大きい数値を処理するには、数値は32ビット符号付き整数(-2,147,483,648〜2,147,483,647)の範囲内になければなりません。 – FloatingKiwi