Board logo

标题: [文本处理] 批处理把txt转换成彩虹字(Discuz HTML格式) [打印本页]

作者: Taurus    时间: 2010-6-28 03:23     标题: 批处理把txt转换成彩虹字(Discuz HTML格式)

2009年写的了,翻了旧帖贴出来

这样用的:
[attach]2660[/attach]
  1. @echo off&title Code by Taurus&mode con: cols=21 lines=1&color 0a
  2. set TRW1=%~1
  3. if not defined TRW1 exit
  4. set/p=       Loading <nul
  5. set o6=F&set o5=F&set o4=0&set o3=F&set o2=0&set o1=F
  6. set RBHTA="%~dp0\Rainbowtext.hta"
  7. set RBCODE="%tmp%\Discuzcode"
  8. set RBHC="%tmp%\HTMLCode"
  9. (
  10.      echo ^<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"^>
  11.      echo ^<html^>
  12.      echo ^<head^>
  13.      echo ^<script laguage="javascript"^>
  14.      echo window.resizeTo^(768,452^);
  15.      echo window.moveTo^(257,-500^);
  16.      echo var y=-500;
  17.      echo show=setInterval^("move()",1^);
  18.      echo function move^(^){
  19.      echo if^(0^>y^){
  20.      echo y+=20;
  21.      echo window.moveTo^(257,y^);
  22.      echo } else {
  23.      echo clearInterval^(show^);
  24.      echo }
  25.      echo }
  26.      echo function move2^(^){
  27.      echo if^(y^>-500^){
  28.      echo y-=20;
  29.      echo window.moveTo^(257,y^);
  30.      echo } else {
  31.      echo window.close^(^);
  32.      echo }
  33.      echo }
  34.      echo ^</script^>
  35.      echo ^<hta:application border="dialog" maximizebutton="no" scroll="no" MinimizeButton="no" caption="no" ID="oHTA" SysMenu="no" icon="C:\windows\system32\cmd.exe"^>
  36.      echo ^<meta http-equiv="Content-Type" content="text/html"^>
  37.      echo ^<title^>Taurus's Rainbow Text^</title^>
  38.      echo ^<style type="text/css"^>
  39.      echo p{
  40.      echo     overflow: scroll;
  41.      echo     width: 688px;
  42.      echo     height: 150px;
  43.      echo     padding: 1em;
  44.      echo     border: 4px solid #FF0000;
  45.      echo     line-height: 1.5;
  46.      echo     color: #FF0000;
  47.      echo     background: #000000;
  48.      echo     margin-left: auto; margin-right: auto; margin-top: 0px;
  49.      echo }
  50.      echo h1{
  51.      echo     width: 351px;
  52.      echo     background: #FF0000;
  53.      echo     font-size: 16px;
  54.      echo     font-weight:bold;
  55.      echo     margin-left: auto; margin-right: auto; margin-bottom: 3px;
  56.      echo }
  57.      echo form{
  58.      echo     width: 728px;
  59.      echo     margin-left: auto; margin-right: auto;  margin-top: 0px;
  60.      echo }
  61.      echo textarea{
  62.      echo     width: 339px;
  63.      echo     height: 100px;
  64.      echo     background: #FFFFFF;
  65.      echo     border: 5px solid #FF0000;
  66.      echo     margin-left: auto; margin-right: auto; margin-top: 0px;
  67.      echo }
  68.      echo body{
  69.      echo     background: #000000;
  70.      echo }
  71.      echo table{
  72.      echo    border: 8px solid #FF0000;
  73.      echo    margin-left: auto; margin-right: auto; margin-top: 0px;
  74.      echo }
  75.      echo ^</style^>
  76.      echo ^</head^>
  77.      echo ^<body^>
  78.      echo ^<H1 style="width: 728px;"^>·Effect of Sample^</H1^>
  79.      echo ^<p^>
  80.      echo ^<marquee direction=down scrollamount=6^>
  81. )>%RBHTA%
  82. (
  83.      echo ^<H1^>·Discuz Code^</H1^>
  84.      echo ^<center^>
  85.      echo ^<textarea name=txt1^>
  86. )>%RBCODE%
  87. for /f "delims=:" %%i in ('findstr /n .* "%~1"') do set lines=%%i
  88. for /f "delims=" %%Z in ('findstr .* "%~1"') do (
  89.      set "str=%%Z"
  90.      set /a strnub=0
  91.      set /a line+=1
  92.      call :Printing
  93. )
  94. type %RBHC%>>%RBHTA%
  95. (
  96.      echo ^</marquee^>
  97.      echo ^</p^>
  98.      echo ^<table^>
  99.      echo ^<tr^>
  100.      echo ^<td^>
  101.      echo ^<H1^>·HTML Script^</H1^>
  102.      echo ^<center^>
  103.      echo ^<textarea name=txt2^>
  104. )>>%RBHTA%
  105. type %RBHC%>>%RBHTA%
  106. (
  107.      echo ^</textarea^>
  108.      echo ^</center^>
  109.      echo ^</td^>
  110.      echo ^<td^>
  111. )>>%RBHTA%
  112. type %RBCODE%>>%RBHTA%
  113. (
  114.      echo ^</textarea^>
  115.      echo ^</center^>
  116.      echo ^</td^>
  117.      echo ^</tr^>
  118.      echo ^</table^>
  119.      echo ^<table style="width:734px;border:0px"^>
  120.      echo ^<td^>
  121.      echo ^<INPUT onclick=javascript:document.all['txt2'].focus^(^);document.all['txt2'].select^(^);word=document.all['txt2'].createTextRange^(^);word.execCommand^(^"Copy^"^);alert^("...Complete!...................."^) type=button value="Copy HTML Script"^>
  122.      echo ^<INPUT onclick=javascript:document.all['txt1'].focus^(^);document.all['txt1'].select^(^);word=document.all['txt1'].createTextRange^(^);word.execCommand^(^"Copy^"^);alert^("...Complete!...................."^) type=button value="Copy Discuz Code"^>
  123.      echo ^</td^>
  124.      echo ^<td style="text-align:right"^>
  125.      echo ^<u^>
  126.      echo ^<font size="2" color="#FF0000"^>Taurus Script PointTM  ^(R^)2009^</font^>
  127.      echo ^</u^>
  128.      echo ^<input type=button value="  EXIT  " onclick=setInterval^("move2()",1^);^>
  129.      echo ^</td^>
  130.      echo ^</table^>
  131.      echo ^</body^>
  132.      echo ^</html^>
  133. )>>%RBHTA%
  134. del %RBHC%
  135. del %RBCODE%
  136. start "" %RBHTA%
  137. exit
  138. :Printing
  139. setlocal enabledelayedexpansion
  140. set /a cope=!line!00/%lines%
  141. if !cope!==100 set copes=Complete:!cope!%%
  142. if !cope! lss 100 set copes=Complete: !cope!%%
  143. if !cope! lss 10 set copes=Complete:  !cope!%%
  144. :Printing2
  145. if not defined str (
  146.      if !findW!==1 (
  147.          echo.>>%RBCODE%
  148.          echo.^
  149. >>%RBHC%
  150.      )
  151.      goto :eof
  152. )
  153. if not "!str:~0,1!"=="" if not "!str:~0,1!"==" " set findW=1
  154. if !Loading!==10 set Load=
  155. if !Loading!==20 set Load=.
  156. if !Loading!==30 set Load=. .
  157. if !Loading!==40 set Load=. . .
  158. set/p=<nul
  159. set/p=    !copes!<nul
  160. title Loading !Load!
  161. if !Loading!==60 (
  162.      set Loading=0
  163.      ) else (
  164.      set /a Loading+=1
  165. )
  166. for /l %%a in (1,1,6) do (
  167.      set /a nn=%%a+1
  168.      if "!o%%a!" == "10" set o%%a=A
  169.      if "!o%%a!" == "11" set o%%a=B
  170.      if "!o%%a!" == "12" set o%%a=C
  171.      if "!o%%a!" == "13" set o%%a=D
  172.      if "!o%%a!" == "14" set o%%a=E
  173.      if "!o%%a!" == "15" set o%%a=F
  174.      if "!o%%a!" == "16" set o%%a=0&call set /a o!nn!=0x%%o!nn!%%+1
  175.      if "!o%%a!" == "-1" set o%%a=F&call set /a o!nn!=0x%%o!nn!%%-1
  176. )
  177. set HEX=!o6!!o5!!o4!!o3!!o2!!o1!
  178. if !HEX!==FF0F0F set digit=4&set FML=+
  179. if !HEX!==FFFF0F set digit=6&set FML=-
  180. if !HEX!==0FFF0F set digit=2&set FML=+
  181. if !HEX!==0FFFFF set digit=4&set FML=-
  182. if !HEX!==0F0FFF set digit=6&set FML=+
  183. if !HEX!==FF0FFF set digit=2&set FML=-
  184. call set /a o!digit!=0x%%o!digit!%%!FML!3
  185. set /p "var=^<font color^=#!HEX!^>!str:~0,1!^<^/font^>"<nul>>%RBHC%
  186. set /p "var=[color^=#!HEX!]!str:~0,1!"<nul>>%RBCODE%
  187. endlocal&set o6=%o6%&set o5=%o5%&set o4=%o4%&set o3=%o3%&set o2=%o2%&set o1=%o1%&set FML=%FML%&set digit=%digit%&set line=%line%&set findW=%findW%&set "loading=%loading%"&set /a strnub+=1&set load=%Load%
  188. setlocal enabledelayedexpansion
  189. set "str=!str:~%strnub%,1!"
  190. goto :Printing2
复制代码

作者: Taurus    时间: 2010-11-2 03:37

原帖由 zgj1623 于 2010-7-23 00:25 发表
不知道如何使用,谢谢。

把txt拖到bat上放手即可
作者: ilychw    时间: 2010-11-27 23:16

晕,怎么退不出来呀?
作者: ubcc    时间: 2011-1-17 04:54

彩虹字转换----视频教程




[ 本帖最后由 ubcc 于 2011-1-17 04:56 编辑 ]
作者: Taurus    时间: 2011-2-6 00:15

修正hta屏幕位置:
(因含部份js,css及hta代碼,貼上Discuz可能會有部份語句出錯,請在頁尾下載附件)
  1. @echo off&title Code by Taurus&mode con: cols=21 lines=1&color 0a
  2. set TRW1=%~1
  3. if not defined TRW1 exit
  4. set/p=       Loading <nul
  5. set o6=F&set o5=F&set o4=0&set o3=F&set o2=0&set o1=F
  6. set RBHTA="%~dp0\Rainbowtext.hta"
  7. set RBCODE="%tmp%\Discuzcode"
  8. set RBHC="%tmp%\HTMLCode"
  9. (
  10.      echo ^<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"^>
  11.      echo ^<html^>
  12.      echo ^<head^>
  13.      echo ^<script laguage="javascript"^>
  14.      echo var SW =window.screen.width-767;
  15.      echo window.resizeTo^(768,452^);
  16.      echo window.moveTo^(SW,-500^);
  17.      echo var y=-500;
  18.      echo show=setInterval^("move()",1^);
  19.      echo function move^(^){
  20.      echo if^(0^>y^){
  21.      echo y+=20;
  22.      echo window.moveTo^(SW,y^);
  23.      echo } else {
  24.      echo clearInterval^(show^);
  25.      echo }
  26.      echo }
  27.      echo function move2^(^){
  28.      echo if^(y^>-500^){
  29.      echo y-=20;
  30.      echo window.moveTo^(SW,y^);
  31.      echo } else {
  32.      echo window.close^(^);
  33.      echo }
  34.      echo }
  35.      echo ^</script^>
  36.      echo ^<hta:application border="dialog" maximizebutton="no" scroll="no" MinimizeButton="no" caption="no" ID="oHTA" SysMenu="no" icon="C:\windows\system32\cmd.exe"^>
  37.      echo ^<meta http-equiv="Content-Type" content="text/html"^>
  38.      echo ^<title^>Taurus's Rainbow Text^</title^>
  39.      echo ^<style type="text/css"^>
  40.      echo p{
  41.      echo     overflow: scroll;
  42.      echo     width: 688px;
  43.      echo     height: 150px;
  44.      echo     padding: 1em;
  45.      echo     border: 4px solid #FF0000;
  46.      echo     line-height: 1.5;
  47.      echo     color: #FF0000;
  48.      echo     background: #000000;
  49.      echo     margin-left: auto; margin-right: auto; margin-top: 0px;
  50.      echo }
  51.      echo h1{
  52.      echo     width: 351px;
  53.      echo     background: #FF0000;
  54.      echo     font-size: 16px;
  55.      echo     font-weight:bold;
  56.      echo     margin-left: auto; margin-right: auto; margin-bottom: 3px;
  57.      echo }
  58.      echo form{
  59.      echo     width: 728px;
  60.      echo     margin-left: auto; margin-right: auto;  margin-top: 0px;
  61.      echo }
  62.      echo textarea{
  63.      echo     width: 339px;
  64.      echo     height: 100px;
  65.      echo     background: #FFFFFF;
  66.      echo     border: 5px solid #FF0000;
  67.      echo     margin-left: auto; margin-right: auto; margin-top: 0px;
  68.      echo }
  69.      echo body{
  70.      echo     background: #000000;
  71.      echo }
  72.      echo table{
  73.      echo    border: 8px solid #FF0000;
  74.      echo    margin-left: auto; margin-right: auto; margin-top: 0px;
  75.      echo }
  76.      echo ^</style^>
  77.      echo ^</head^>
  78.      echo ^<body^>
  79.      echo ^<H1 style="width: 728px;"^>‧Effect of Sample^</H1^>
  80.      echo ^<p^>
  81.      echo ^<marquee direction=down scrollamount=6^>
  82. )>%RBHTA%
  83. (
  84.      echo ^<H1^>‧Discuz Code^</H1^>
  85.      echo ^<center^>
  86.      echo ^<textarea name=txt1^>
  87. )>%RBCODE%
  88. for /f "delims=:" %%i in ('findstr /n .* "%~1"') do set lines=%%i
  89. for /f "delims=" %%Z in ('findstr .* "%~1"') do (
  90.      set "str=%%Z"
  91.      set /a strnub=0
  92.      set /a line+=1
  93.      call :Printing
  94. )
  95. type %RBHC%>>%RBHTA%
  96. (
  97.      echo ^</marquee^>
  98.      echo ^</p^>
  99.      echo ^<table^>
  100.      echo ^<tr^>
  101.      echo ^<td^>
  102.      echo ^<H1^>‧HTML Script^</H1^>
  103.      echo ^<center^>
  104.      echo ^<textarea name=txt2^>
  105. )>>%RBHTA%
  106. type %RBHC%>>%RBHTA%
  107. (
  108.      echo ^</textarea^>
  109.      echo ^</center^>
  110.      echo ^</td^>
  111.      echo ^<td^>
  112. )>>%RBHTA%
  113. type %RBCODE%>>%RBHTA%
  114. (
  115.      echo ^</textarea^>
  116.      echo ^</center^>
  117.      echo ^</td^>
  118.      echo ^</tr^>
  119.      echo ^</table^>
  120.      echo ^<table style="width:734px;border:0px"^>
  121.      echo ^<td^>
  122.      echo ^<INPUT onclick=javascript:document.all['txt2'].focus^(^);document.all['txt2'].select^(^);word=document.all['txt2'].createTextRange^(^);word.execCommand^(^"Copy^"^);alert^("...Complete!...................."^) type=button value="Copy HTML Script"^>
  123.      echo ^<INPUT onclick=javascript:document.all['txt1'].focus^(^);document.all['txt1'].select^(^);word=document.all['txt1'].createTextRange^(^);word.execCommand^(^"Copy^"^);alert^("...Complete!...................."^) type=button value="Copy Discuz Code"^>
  124.      echo ^</td^>
  125.      echo ^<td style="text-align:right"^>
  126.      echo ^<u^>
  127.      echo ^<font size="2" color="#FF0000"^>Taurus Script PointTM  ^(R^)2009^</font^>
  128.      echo ^</u^>
  129.      echo ^<input type=button value="  EXIT  " onclick=setInterval^("move2()",1^);^>
  130.      echo ^</td^>
  131.      echo ^</table^>
  132.      echo ^</body^>
  133.      echo ^</html^>
  134. )>>%RBHTA%
  135. del %RBHC%
  136. del %RBCODE%
  137. start "" %RBHTA%
  138. exit
  139. :Printing
  140. setlocal enabledelayedexpansion
  141. set /a cope=!line!00/%lines%
  142. if !cope!==100 set copes=Complete:!cope!%%
  143. if !cope! lss 100 set copes=Complete: !cope!%%
  144. if !cope! lss 10 set copes=Complete:  !cope!%%
  145. :Printing2
  146. if not defined str (
  147.      if !findW!==1 (
  148.          echo.>>%RBCODE%
  149.          echo.^
  150. >>%RBHC%
  151.      )
  152.      goto :eof
  153. )
  154. if not "!str:~0,1!"=="" if not "!str:~0,1!"==" " set findW=1
  155. if !Loading!==10 set Load=
  156. if !Loading!==20 set Load=.
  157. if !Loading!==30 set Load=. .
  158. if !Loading!==40 set Load=. . .
  159. set/p=<nul
  160. set/p=    !copes!<nul
  161. title Loading !Load!
  162. if !Loading!==60 (
  163.      set Loading=0
  164.      ) else (
  165.      set /a Loading+=1
  166. )
  167. for /l %%a in (1,1,6) do (
  168.      set /a nn=%%a+1
  169.      if "!o%%a!" == "10" set o%%a=A
  170.      if "!o%%a!" == "11" set o%%a=B
  171.      if "!o%%a!" == "12" set o%%a=C
  172.      if "!o%%a!" == "13" set o%%a=D
  173.      if "!o%%a!" == "14" set o%%a=E
  174.      if "!o%%a!" == "15" set o%%a=F
  175.      if "!o%%a!" == "16" set o%%a=0&call set /a o!nn!=0x%%o!nn!%%+1
  176.      if "!o%%a!" == "-1" set o%%a=F&call set /a o!nn!=0x%%o!nn!%%-1
  177. )
  178. set HEX=!o6!!o5!!o4!!o3!!o2!!o1!
  179. if !HEX!==FF0F0F set digit=4&set FML=+
  180. if !HEX!==FFFF0F set digit=6&set FML=-
  181. if !HEX!==0FFF0F set digit=2&set FML=+
  182. if !HEX!==0FFFFF set digit=4&set FML=-
  183. if !HEX!==0F0FFF set digit=6&set FML=+
  184. if !HEX!==FF0FFF set digit=2&set FML=-
  185. call set /a o!digit!=0x%%o!digit!%%!FML!3
  186. set /p "var=^<font color^=#!HEX!^>!str:~0,1!^<^/font^>"<nul>>%RBHC%
  187. set /p "var=[color^=#!HEX!]!str:~0,1!"<nul>>%RBCODE%
  188. endlocal&set o6=%o6%&set o5=%o5%&set o4=%o4%&set o3=%o3%&set o2=%o2%&set o1=%o1%&set FML=%FML%&set digit=%digit%&set line=%line%&set findW=%findW%&set "loading=%loading%"&set /a strnub+=1&set load=%Load%
  189. setlocal enabledelayedexpansion
  190. set "str=!str:~%strnub%,1!"
  191. goto :Printing2
复制代码

[ 本帖最后由 Taurus 于 2011-2-6 00:33 编辑 ]
作者: bbwanwt123    时间: 2011-2-8 01:25

哇塞···················

很有创意···········
作者: hp880229    时间: 2011-2-19 11:27

挺神气的。。。不知道俺什么时候可以写出这样的代码。。
作者: cxypy    时间: 2011-4-24 13:42

不知道如何使用,谢谢。
作者: Taurus    时间: 2011-4-25 09:05

9# cxypy
作者: applba    时间: 2011-4-28 02:46

看来这帖子没有多少人气。
楼主可以写一个详细的实用知道和绚丽的功能介绍
作者: garyng    时间: 2011-8-10 16:05

楼主厉害哦~
作者: wuyongming    时间: 2011-8-15 16:26

不理解,还在研究中呢……
作者: 狱渊    时间: 2013-5-5 14:30

很不错 顶一个




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2