Board logo

标题: [文本处理] 退格符获取批处理函数 [打印本页]

作者: batman    时间: 2011-4-23 21:02     标题: 退格符获取批处理函数

示例代码如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. ::下面tg为退格符的变量名,可以自行修改
  3. call :get_tg tg
  4. for /l %%a in (1,1,6) do set "k=!k!%tg% %tg%"
  5. set /p=bathome-123456<nul
  6. ping /n 2 127.1>nul
  7. set /p=%k%batman<nul
  8. pause>nul&goto :eof
  9. %------------------------退格符获取函数------------------------%
  10. :get_tg
  11. (echo A100&echo MOV DL,08&echo MOV AH,02&echo INT 21&echo INT 20&echo,&echo G&echo q)>db&set "%1="
  12. for /f "skip=8" %%a in ('debug^<db') do if not defined %1 set "%1=%%a"
  13. del /q db
  14. %------------------------退格符获取函数------------------------%
复制代码

作者: batman    时间: 2011-4-23 21:12

这下大家在写特效时不要到处找别人的代码复制粘贴退格了,呵呵。。。

正在设法获取tab中(苦恼+头痛ing...)。。。
作者: cutebe    时间: 2011-4-23 22:53

  1. @echo off
  2. set JSF="%TMP%\TAB.JS"
  3. echo=WScript.echo(String.fromCharCode(9));>%JSF%
  4. for /f "delims=" %%t in ('cscript //nologo %JSF%')do set "t=%%t"
  5. ::变量t为TAB
  6. pause
复制代码

作者: plp626    时间: 2011-4-24 00:46

1# batman


如果掉debug这个三方的话有些大材小用,我们一般都是到了最无奈的时候,比如必须要使用一个三方工具,但又嫌下载麻烦,直接嵌到bat中。

如果用它了,那完全可以做个ascii码获取通用函数了
作者: plp626    时间: 2011-4-24 01:01

1# batman


退格符的获取,可以用cmd的内置命令得到:
  1. @echo off
  2. call:getbs bs
  3. echo abc%bs%#
  4. pause
  5. :getbs
  6. for /F %%a in ('"prompt $h&for %%b in (1) do rem"')do Set "%~1=%%a"
复制代码

作者: cjiabing    时间: 2011-4-24 01:37

看看就好,不必当真
作者: applba    时间: 2011-4-28 02:40

我只看到几句汇编了,我想不用看懂了
作者: techon    时间: 2011-5-9 14:17

可以用debug做个从文件读入十六进制,然后输出为二进制文件的批处理了

echo exit|cmd /k prompt ecs:100 01 02  11 12 21 22 31 32$_rcx$_8$_ntmp.bin$_w$_q$_|debug
作者: Batcher    时间: 2014-3-8 14:11

生成退格键

【方法1】
  1. for /f %%i in ('"prompt $H & for %%j in (1) do rem"') do (
  2.     set "KeyBackspace=%%i"
  3. )
复制代码
【方法2】
  1. for /f %%i in ('echo prompt $H ^| cmd') do (
  2.     set "KeyBackspace=%%i"
  3. )
复制代码
【方法3】
打开edit,按Ctrl+P,按完之后按下退格键,保存文本。

【方法4】
打开记事本,按住ALT不放,按小键盘上的127。

【方法5】
bat + mshta
  1. @echo off
  2. mshta vbscript:inputbox("",,chr(8))(close)
复制代码
【方法6】
  1. @echo off&title 请关闭此窗口 Code By plp626&if not %1.==. goto%*
  2. for /f "delims=" %%a in ('cmd /s/k "prompt $h&%~s0 :x"')do echo.%%a>tuige.txt
  3. :x
复制代码
【方法7】
  1. echo exit/b>a.bat&prompt $h&a.bat>>a.bat&notepad a.bat
复制代码
【方法8】
  1. ::@@ 运行后,@就变成了退格符了
  2. @echo off
  3. pushd "%~dp0"
  4. (echo e 102 8 8&echo;w&echo;q)|debug %~nx0
  5. notepad %~nx0
复制代码
生成ESC键
【方法1】
  1. for /f %%i in ('"prompt $E & for %%j in (1) do rem"') do (
  2.     set "KeyESC=%%i"
  3. )
复制代码
【方法2】
  1. for /f %%i in ('echo prompt $E ^| cmd') do (
  2.     set "KeyESC=%%i"
  3. )
复制代码

作者: 猪豆三    时间: 2014-5-25 08:16

了解学习一下




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