使用Windows命令提示符(cmd.exe)的StackOverflow信誉

如何使用命令提示符脚本查看我的声望?

( 使用PowerShell回复StackOverflow的声望 ,因为我很无聊。)

  @echo off&setlocal
 ::支持curl,wget,plink和nc

在这里设置SoUID =你的UID
 ::示例:设置SoUID = 49849
设置SoHost = stackoverflow.com

设置FlairPath = / users / flair /%SoUID%.json
设置FlairURL = http://%SoHost %% FlairPath%
设置TempTag =%SoHost% - %SoUID% - %random%
设置TempFile =%TEMP%\%TempTag%.json
设置脚本=%TEMP%\%TempTag%.script
设置RawOut =%TEMP%\%TempTag%.out

调用:检查卷曲
如果不是“%App%”==“”“%App%”-o“%TempFile%”-s“%FlairURL%”&goto:Next

调用:检查wget
如果不是“%App%”==“”“%App%”-O“%TempFile%”-q“%FlairURL%”&goto:Next

电话:检查plink
如果不是“%App%”==“”调用:MakeScript&“%App%”-raw%SoHost%-P 80 -batch“%RawOut%”&goto:NextHdr

电话:检查NC
如果不是“%App%”==“”调用:MakeScript&“%App%”%SoHost%80“%RawOut%”&goto:NextHdr

 >&2 echo curl,wget,plink或netcat找不到。 从PuTTY站点下载plink。
设置应用程序=%TEMP%\ plink.exe
电话:镜像ftp.chiark.greenend.org.uk /users/sgtatham/putty-latest/x86/plink.exe
如果不存在“%App%”调用:镜像ftp.samurai.com /pub/putty/putty-latest/x86/plink.exe
如果不存在“%App%”,则调用:镜像ftp.totem.fix.no /pub/mirrors/putty/putty-latest/x86/plink.exe
如果不存在“%App%”调用:镜像ftp.ds5.agh.edu.pl /pub/putty/putty-latest/x86/plink.exe
如果不存在“%App%”goto:NoApp
调用:MakeScript&“%App%”-raw%SoHost%-P 80 -batch“%RawOut%”&del“%App%”&goto:NextHdr
 :镜子
如果存在“%App%”del“%App%”
 >“%Script%”echo = lcd“%TEMP%”
 >>“%Script%”echo =二进制
 >>“%Script%”echo = get%〜2
 >>“%Script%”echo = bye
 ftp -s:“%Script%”-A -v -i%〜1> nul 2> nul
转到: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回声放弃。  &转到:EOF
 :下一个
如果不存在“%TempFile%”echo下载数据时出错。  &转到:EOF
 set / p Flair =&2 echo有些东西坏了。
 )else(
    如果“%SoName%”==“”(
         echo你的声望是%SoReputation%。
     )else(
        回声%SoName%的声望是%SoReputation%。
     )
 )
转到:EOF
 :解析
如果“%〜1”==“”转到:EOF
设置Line =%〜1
转移
 if / i“%Line:〜0,11%”==“声望:”(
    设置SoReputation =%行:〜11%
     goto:解析
 )
 if / i“%Line:〜0,12%”==“displayName:”(
    设置SoName =%行:〜12%
     goto:解析
 )
 goto:解析
 :检查
设置App =
 (%PATHEXT%)做%%我在(%1 %% e)做如果不是“%%〜$ PATH:我”==“”设置应用= %%〜$路径:我
转到:EOF
 :MakeScript
 >“%Script%”echo = GET%FlairPath%HTTP / 1.1
 >>“%Script%”echo =主机:%SoHost%
 >>“%Script%”echo =连接:关闭
 >>“%Script%”echo =
转到:EOF

在命令提示符窗口中输入:

start iexplore http://stackoverflow.com/users/flair/{your UID here}.html 

通过(JSON)提供的用户有更详细的数据:

 http://stackoverflow.com/users/rep/50475/2009-01-01/2009-01-31 

你可以通过解析这个字符串得到一些有趣的数据。 乔恩Skeet使用他的代表跟踪器 。