找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 37529|回复: 10

[文本处理] 退格符获取批处理函数

[复制链接]
发表于 2011-4-23 21:02:42 | 显示全部楼层 |阅读模式
示例代码如下:

  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. %------------------------退格符获取函数------------------------%
复制代码
 楼主| 发表于 2011-4-23 21:12:05 | 显示全部楼层
这下大家在写特效时不要到处找别人的代码复制粘贴退格了,呵呵。。。

正在设法获取tab中(苦恼+头痛ing...)。。。
发表于 2011-4-23 22:53:43 | 显示全部楼层
  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
复制代码
发表于 2011-4-24 00:46:37 | 显示全部楼层
1# batman


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

如果用它了,那完全可以做个ascii码获取通用函数了
发表于 2011-4-24 01:01:55 | 显示全部楼层
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"
复制代码

评分

参与人数 1技术 +1 收起 理由
zm900612 + 1 干得漂亮,原来“pl*”这个名字就是漂亮的意 ...

查看全部评分

发表于 2011-4-24 01:37:12 | 显示全部楼层
看看就好,不必当真
发表于 2011-4-28 02:40:36 | 显示全部楼层
我只看到几句汇编了,我想不用看懂了
发表于 2011-5-9 14:17:23 | 显示全部楼层
可以用debug做个从文件读入十六进制,然后输出为二进制文件的批处理了

echo exit|cmd /k prompt ecs:100 01 02  11 12 21 22 31 32$_rcx$_8$_ntmp.bin$_w$_q$_|debug
发表于 2014-3-8 14:11:14 | 显示全部楼层
生成退格键

【方法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:24 | 显示全部楼层
了解学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 04:11 , Processed in 0.022246 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表