中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 01:44
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [跟风娱乐一下]批处理倒序输出字符串 查看 2,208 回复 16
16 发表于 2008-12-17 01:28 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
还是vbs方便。
WSH.Echo StrReverse("~!@#$%^&*()_+{}|:""<>? `1234567890-=[]\;',./")
17 发表于 2008-12-17 23:31 ·  中国 四川 泸州 联通
高级用户
★★★
积分 609
发帖 374
注册 2006-08-02 22:38
20年会员
UID 59720
状态 离线
哈哈,反序输出的代码我看到过。怎么也输出不到文本里,当时HAT版主 帮我出了主意。经过完善,有下面的全文反序输出代码:
@echo off
@echo.
@echo 全文反序输出(原样不丢字符)
@echo.
SET /P FSY= 将程序拉入本窗口:
cd.>fx.txt
for /f "delims=" %%i in ('findstr /n .* "%FSY%"') do (
set "str=%%i"
setlocal enabledelayedexpansion
set str=!str:*:=!
set var=!str!
call :cl
endlocal
@echo.>>fx.txt
)
goto :sc
:cl
if defined str set/a n+=1&set str=!str:~1!&goto cl
set/a n-=1
for /l %%j in (%n% -1 0) do set/p= !var:~%%j,1!<nul>>fx.txt
goto :eof

:sc
cd.>fax.txt
for /f "delims=" %%a in ('findstr /n .* fx.txt') do (
set "var=%%a"
setlocal enabledelayedexpansion
set var=!var:*:=!
if not "!var!"=="" set var=!var: =!
echo.!var!>>fax.txt
endlocal
)
del fx.txt
start fax.txt


[ Last edited by ZJHJ on 2008-12-17 at 23:32 ]
论坛跳转: