Comment afficher ma réputation avec un script d'invite de commandes?Réputation StackOverflow à l'aide de l'invite de commande Windows (cmd.exe)
(En réponse à StackOverflow reputation using PowerShell, parce que je me ennuie comme l'enfer.)
Comment afficher ma réputation avec un script d'invite de commandes?Réputation StackOverflow à l'aide de l'invite de commande Windows (cmd.exe)
(En réponse à StackOverflow reputation using PowerShell, parce que je me ennuie comme l'enfer.)
@echo off & setlocal :: Supports curl, wget, plink, and nc set SoUID=YOUR UID HERE :: Example: set SoUID=49849 set SoHost=stackoverflow.com set FlairPath=/users/flair/%SoUID%.json set FlairURL=http://%SoHost%%FlairPath% set TempTag=%SoHost%-%SoUID%-%random% set TempFile=%TEMP%\%TempTag%.json set Script=%TEMP%\%TempTag%.script set RawOut=%TEMP%\%TempTag%.out call :Check curl if not "%App%"=="" "%App%" -o "%TempFile%" -s "%FlairURL%" & goto :Next call :Check wget if not "%App%"=="" "%App%" -O "%TempFile%" -q "%FlairURL%" & goto :Next call :Check plink if not "%App%"=="" call :MakeScript & "%App%" -raw %SoHost% -P 80 -batch "%RawOut%" & goto :NextHdr call :Check nc if not "%App%"=="" call :MakeScript & "%App%" %SoHost% 80 "%RawOut%" & goto :NextHdr >&2 echo curl, wget, plink or netcat not found. Downloading plink from PuTTY site. set App=%TEMP%\plink.exe call :Mirror ftp.chiark.greenend.org.uk /users/sgtatham/putty-latest/x86/plink.exe if not exist "%App%" call :Mirror ftp.samurai.com /pub/putty/putty-latest/x86/plink.exe if not exist "%App%" call :Mirror ftp.totem.fix.no /pub/mirrors/putty/putty-latest/x86/plink.exe if not exist "%App%" call :Mirror ftp.ds5.agh.edu.pl /pub/putty/putty-latest/x86/plink.exe if not exist "%App%" goto :NoApp call :MakeScript & "%App%" -raw %SoHost% -P 80 -batch "%RawOut%" & del "%App%" & goto :NextHdr :Mirror if exist "%App%" del "%App%" > "%Script%" echo=lcd "%TEMP%" >>"%Script%" echo=binary >>"%Script%" echo=get %~2 >>"%Script%" echo=bye ftp -s:"%Script%" -A -v -i %~1 > nul 2> nul goto :EOF :NextHdr for /f "usebackq tokens=1,* delims=:" %%a in ("%RawOut%") do ( if [%%a]==[{"id"] set Flair=%%a:%%b & del "%Script%" "%RawOut%" & goto :Next2 ) :NoApp >&2 echo Giving up. & goto :EOF :Next if not exist "%TempFile%" echo Error downloading data. & goto :EOF set /p Flair=&2 echo Something went bad. ) else ( if "%SoName%"=="" ( echo Your reputation is %SoReputation%. ) else ( echo Reputation of %SoName% is %SoReputation%. ) ) goto :EOF :Parse if "%~1"=="" goto :EOF set Line=%~1 shift if /i "%Line:~0,11%"=="reputation:" ( set SoReputation=%Line:~11% goto :Parse ) if /i "%Line:~0,12%"=="displayName:" ( set SoName=%Line:~12% goto :Parse ) goto :Parse :Check set App= for %%e in (%PATHEXT%) do for %%i in (%1%%e) do if NOT "%%~$PATH:i"=="" set App=%%~$PATH:i goto :EOF :MakeScript > "%Script%" echo=GET %FlairPath% HTTP/1.1 >>"%Script%" echo=Host: %SoHost% >>"%Script%" echo=Connection: close >>"%Script%" echo= goto :EOF
Dans une fenêtre d'invite de commande:
start iexplore http://stackoverflow.com/users/flair/{your UID here}.html
Excepté iexplore n'est pas dans le chemin par défaut. – grawity
Il est sur chaque boîte de Windows j'ai accès à. XP, Vista, 2003, 7 – Hardwareguy
Si iexplore est omis, il s'ouvrira dans le navigateur par défaut, par ex. Opera ou Firefox. –
Il y a des données plus élaborées pour les utilisateurs disponibles via (JSON):
http://stackoverflow.com/users/rep/50475/2009-01-01/2009-01-31
Vous pouvez obtenir des données intéressantes en analysant cette chaîne. Jon Skeet utilise cela pour son rep tracker.
Il s'agit d'un très bon exemple de la façon dont powershell améliore les scripts de ligne de commande Windows – eKek0