中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [讨论]倒着输出字符 上一主题 | 下一主题
joyn
中级用户

丶杏灬丶


积分 280
发帖 105
注册 2008-5-6
来自 广西
状态 离线
『楼 主』:  [讨论]倒着输出字符

@echo off
color 0a
title 对输入的String倒着输出
set Output=
set /p str=请输入字符:
:loop
if not "%str%"=="" (
set Output=%Output%%str:~-1%
set str=%str:~0,-1%
goto :loop)
echo.        %Output%
pause >nul&exit

2008-5-6 19:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

对于特殊字符,楼主准备如何处理:
>
<
^
"
&
)

2008-5-6 20:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 3 楼』:  

以前有了.

2008-5-6 20:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joyn
中级用户

丶杏灬丶


积分 280
发帖 105
注册 2008-5-6
来自 广西
状态 离线
『第 4 楼』:  

对于这个没有考虑到~~不过我会想办法的

2008-5-6 23:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

正如3楼所说,本版有解决方案^_^

2008-5-6 23:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joyn
中级用户

丶杏灬丶


积分 280
发帖 105
注册 2008-5-6
来自 广西
状态 离线
『第 6 楼』:  

哦~~可以发给我看看吗~我这几天才玩的DOS~~一不小心就来到这里了~~看到这里还不错一不小心就注册了个会员~~可转个URL来这里卜??小弟先谢谢了

2008-5-7 01:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  这个帖子里应该有对特殊字符的处理,仔细研究下吧^_^

最大限度原样输出含特殊字符的指定行内容
http://www.cn-dos.net/forum/viewthread.php?tid=30815&fpage=5

2008-5-7 23:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joyn
中级用户

丶杏灬丶


积分 280
发帖 105
注册 2008-5-6
来自 广西
状态 离线
『第 8 楼』:  

谢谢楼上的同志~~莪去研习研习

2008-5-7 23:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 9 楼』:  

小函数一个----反序输出(完全封装)
我推广下函数思想,只是玩玩而已,不喜欢的作罢:
@echo off
call:ReversOut "12345&6" strs
::这种方法兼容特殊字符
set/p "tt=%strs%"<nul

echo\&pause
exit

:: /*-------ReversOut--------------
:ReversOut ["string"] [string]
setlocal ENABLEEXTENSIONS
set "str=%~1"
:ReversOut_1
set "strs=%str:~0,1%%strs%"
set "str=%str:~1%"
if defined str goto:ReversOut_1
endlocal&set "%2=%strs%"&goto:eof
:: ---------ReversOut------------*/




山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-5-7 23:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 10 楼』:  

不能处理引号



致精致简!
2008-5-8 01:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by 26933062 at 2008-5-8 01:38 AM:
不能处理引号

嗯,
我知道VBS 有个什么函数可以。。。论坛里有人好像发过。。。



山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-5-8 15:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 12 楼』:  


@echo off

call:ReversOut "1234&56" strs
::这种方法兼容特殊字符,但会过滤引号。
set/p "tt=%strs%"<nul
echo\&pause


::子过程用for会对!过来,用goto+call,set可以不过滤但速度慢了。
:: /*-------ReversOut--------------
:ReversOut ["string"] [string]
setlocal enabledelayedexpansion
set "str=%~1"&set "s="
for /l %%a in (200 -1 0)do if not "!str:~%%a,1!"=="" set s=!s!!str:~%%a,1!
endlocal&set "%2=%s%"&goto:eof
:: ---------ReversOut------------*/

@echo off

call:ReversOut "12345&6" strs
::这种方法兼容特殊字符,但会过滤引号。
set/p "tt=%strs%"<nul

:: /*-------ReversOut--------------
:ReversOu ["string"] [string]
setlocal ENABLEEXTENSIONS
set "str=%~1"
:ReversOut_1
set "strs=%str:~0,1%%strs%"
set "str=%str:~1%"
if defined str goto:ReversOut_1
endlocal&set "%2=%strs%"&goto:eof
:: ---------ReversOut------------*/
关键字:反序 倒着 输出字符 函数

plp626发表




山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
2008-5-11 06:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joyn
中级用户

丶杏灬丶


积分 280
发帖 105
注册 2008-5-6
来自 广西
状态 离线
『第 13 楼』:  

我想提个方案:就是在每个输入字符之前加一个"^"字符
这样应该可以输出所有字符,但是问题就在如何在输入的字符前加这个^(取消转义字符的符号)

2008-5-12 15:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: