Ich habe das folgende Batch-Skript, das eine Zahl basierend auf ein paar Dinge berechnet, es ist eine ziemlich große Zahl jedoch, Dies ist, was es erzeugen sollte (Beispiel) 76561197960287930 nicht mehr und nicht weniger.ungültige Nummer. Zahlen sind auf 32 Bits der Genauigkeit beschränkt
@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
Gibt es einen fix und oder Abhilfe? Dank
Aus der Set/A-Dokumentation: Die Zahlen müssen alle innerhalb des Bereichs von 32 Bit vorzeichenbehafteten Ganzzahlen (-2.147.483.648 bis 2.147.483.647) liegen, um größere Zahlen mit PowerShell oder VBScript verarbeiten zu können. – FloatingKiwi