全部博文(74)
分类: WINDOWS
2008-03-08 16:04:32
题目位置: http://www.microsoft.com/technet/scriptcenter/funzone/games/games08/sdevent10.mspx
官方题解:
这个题目应该是比较有意思的, 因为你可以不写任何脚本就能做出此题. 由于我不会VBScript, 也不是很熟悉Perl, 所以这题让我觉得很有难度. 我们需要从 .CSRIIEHRRTOENSWWPOCTIHPT-T 中找出3个命令, 它们要完成同样的功能. 三个命令分别来自三种语言. 一上来我完全没有头绪, 于是我想先看看究竟都有哪些字符:
利用哈希表, 我发现, 出现的字符个数不是很多, 但是由于对VBscript和Perl不熟悉, 我还是没有任何思路. 既然字符种类很少, 那么PowerShell中cmdlet能匹配的数量应该不会很多, 1.0中有129个命令, 我可以试试...根据这个思路, 我执行了下面的命令:
对于哈希表中Keys进行排序, 然后放在正则表达式中, 只选取那些使用Keys的命令. 现在只有4条命令入围...看起来问题很简单了, 我的第一反应就是Write-Host, 因为看起来它是最普通的cmdlet. 现在我需要从$hash表中删除这些用过的字符:
锁定Write-Host之后, 我想到Perl中最普通的输出就是print命令, 再继续试试:
ok, 现在看起来快到最后了, 可是我完全不会VBscript, 这些东西我还是不知道是什么. 我回忆起有个WScript的东西, 再一次排除后, 我发现原来是单词Echo. 已经解完了, 当我准备发送E-Mail的时候, 发现E-mail示例正是使用Wscript.Echo的例子...我觉得自己好笨...呵呵