我已经得到了下面的批处理脚本,它基于几件事情计算出一个数字,然而它的数字相当大,这就是它应该生成的数据(例子)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文档:数字必须都在32位有符号整数(-2,147,483,648至2,147,483,647)的范围内,以处理较大数字使用PowerShell或VBScript。 – FloatingKiwi