回复 2# CrLf
这里的奎因代码, 要以批处理文件的方式运行, 不能粘贴到命令行去运行, 那样得不到和自身一样的输出
下面的代码可以生成这个奎因代码, 显示它的内容, 运行它输出结果, 最后将奎因代码的 输出文件 和 奎因代码 自身进行比较, 检测 是否完全一致:- @echo off & endlocal
- set "Quine=BatchQuine.bat"
- set "Output=Output.bin"
-
- call :genQuine
- echo TYPE %Quine%:
- type %Quine%
- echo.
- pause > nul
- echo %Quine% OUTPUT:
- call %Quine%
- pause > nul
- echo.
- echo TEST whether the output is SAME to the source code:
- call %Quine% > %Output%
- echo fc /b %Output% %Quine%
- fc /b %Output% %Quine%
- pause > nul
- exit
-
- :genQuine
- > %Quine% (
- echo Set "T=Echo Set "T=!T!"&Call Echo Set E=!E!E!E!!E!E!E!&Echo Cmd/V:On/C"!E!T!E!""
- echo Set E=%%%%
- echo Cmd/V:On/C"%%T%%"
- )
- exit /b
复制代码
|