[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
所需阅读权限 1

[特效代码] [原创]用纯bat生成exe文件的方法

本帖最后由 plp626 于 2011-12-22 05:34 编辑

本贴仅供技术娱乐,切勿当真。。。
有技术爱好者,可交流此贴
http://bbs.bathome.net/thread-12265-1-1.html
  1. @echo off&setlocal EnableDelayedExpansion
  2. :: 不依赖debug,不依赖vbs ,bat基本独立自主的的生产方法
  3. pushd %tmp%||(pause&exit/b)
  4. call:getasc $ $1
  5. call:getdb s1
  6. >nul copy/b $1+$1 $2
  7. >nul copy/b $2+$1 $3
  8. >nul copy/b $3+$3+$1 $7
  9. if exist $~.tmp del $~.tmp
  10. Set s=
  11. for /l %%a in (0 2 1112)do (
  12.     if "!s1:~%%a,1!" neq "\" (
  13.         for %%b in (!s1:~%%a^,2!)do Set s=!s!!$:~0x%%b,1!
  14.     ) else (
  15.         set/p=!s!<nul>>$~.tmp
  16.         set/an=%%a+1&for %%b in (!n!)do (
  17.             copy/b $~.tmp+$!s1:~%%~b,1! $~.tmp >nul
  18.         )
  19.         set "s="
  20.     )
  21. )
  22. popd&chcp 936>nul
  23. move %tmp%\$~.tmp testfile.rar
  24. start testfile.rar
  25. pause
  26. goto:eof
  27. :getdb
  28. set %1=526172211A07\13BD07308\10D\7E9737480902C\1F101\306\202A3ABBEC6E24AB^
  29. 13E1D3507\120\3706C702E657865\1B0E070720819150D0CFD1C0DF577318E473B9BA1D90^
  30. 2798460EA431D1D72A1F50C1C2209253020A6BEED69205F8896F37DC1289092964203A65F0^
  31. 2592B84A1109440929744FE05D4E960C63A3A8743A187316A4BB937CDEA4B9FE20D90192B9^
  32. 82F2CDF62DF61EF1BABF9DF1B947C619B861F7D99EA3C6D1A6DFBE2F3EB0A88AE98478B970^
  33. C3E2871211BC3D70B4FC1F7A62FB773F992FA1A178F2ACBBC0E3ADAAE8D90AC369A6CA1A24^
  34. 076C340BDDB3BC7E4065BAE446952EEF870324EAC6682143A8E6C8B1A8E2A187D44D2C73FA^
  35. 8E04D2CFAE84F78217418B3275E2944D71E6F23D73945523B6CB17FBC2C773BE6EA894964A^
  36. 676F9ADEA18223D9DBDE946B8CA334430672874F2FF3F14FC8BB60F36AED7B37629ACFDF7A^
  37. F909EDFCCCFB7F784FE2CD2FC4D931EBFEBB1AD906C38D5ABBB134449C6A11A435C47E5BEC^
  38. 4293B5F8719139B75390EF1E37E0E0E2DCF35C8F79D388848485F45CBA4277AFAD6E4D6E04^
  39. 676E3D8EE652C094BDB594C6037202C1660F51AF620DFF02CB82B62D3D9212266D03436481^
  40. 2FF89872A66D401B55E4B7964349D6EF1A9744744655A44445A2166ADEE0E869F209FBE75A^
  41. 3E875FEA78FC41AF06C41B81FDFE6CBDA759D2A35D860F23960AF1C95BFDD6586E9F4A959B^
  42. 68BC8D31A4E4B228F71428371C50B69C24C81F6D91AFCAA3AACB412CAE517FFC0DC70A0C43^
  43. D7B\14007\1&goto:eof
  44. :getasc <$|#|@|_|\|/|?|{|}|[|]>
  45. chcp 936>nul
  46. set %1gbk=币市布弄清分标圈唉上下同名后小成民怒易笔耕化吗战则刚猛夜思舞鸟简闹出读导能图绿
  47. chcp 437>nul
  48. Set %1=&cmd /u/c echo !%1gbk!>%1gbk.tmp&set/p %1gbk=<%1gbk.tmp
  49. for /l %%a in (0,2,76)do Set %1=!%1!!%1gbk:~%%a,1!
  50. set %1= !%1:~,31! ^^!"#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^^_`abcdefghijklmnopqrstuvwxyz{|}~!%1:~-8,1!亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬!%1:~-7!
  51. cmd /u/cecho.>%1gbk.tmp&findstr/vrc:$ %1gbk.tmp>%2
复制代码
getasc函数详解见:http://bbs.bathome.net/thread-12347-1-1.html
1

评分人数

8# qzwqzw


我正弄一个any2bat的 纯bat版,为了得到的数据体积小,又“解压”快速,想给大家弄一个短小而方便的函数,但越深入觉得水越深,设计到编码如何最佳体积存储。。感觉吃力。

这个文件体积较小,我先是用debug d100 size+256 将它的16进制文本信息提取,然后对连续00字符做重复标记处理

\对后面的一位做转义处理,/对后面的二位做转义处理,比如扫描到\A1C。。。就表示\A这里有0xa个0x00字符,扫描到/3C89。。表示/3C这里有0x3C个0x00字符。。。。
这是较简单压缩重复字符的方法

如果高压缩,那解压代码也就长了,这个压缩包文件体积小,简单处理了。

TOP

返回列表