中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 15:57
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]如何在字符串中包含换行、双引号等特殊符号?
可打印版本  1,239 / 7
第1楼 maky1117 发表于 2008-11-22 23:09
初级用户 发帖 11 积分 24
[已结]如何在字符串中包含换行、双引号等特殊符号?
1:

\n在批处理中有等效符号吗?

2:
Alt+010这样的符号如何写出来?

3:
手写的^Z和Ctrl+Z显示一样,但效果为什么不同呢?

4:
set和echo中的引号如何去掉,例:

显示结果会有"",但不加""会传递错误的参数,怎么办?

5:

我想输出的结果是:<10>
但是运行提示:此处不应有>
问题出在^>上,^<也有问题,但是我想输出这两个符号,该怎么办?

[ Last edited by HAT on 2008-11-23 at 20:25 ]
第2楼 HAT 发表于 2008-11-22 23:16
版主 发帖 5,017 积分 9,023
4:for /?
另外,FOR 变量参照的替换已被增强。您现在可以使用下列
选项语法:

~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩充到
请按任意键继续. . .
第3楼 HAT 发表于 2008-11-22 23:24
版主 发帖 5,017 积分 9,023
5:
第4楼 tireless 发表于 2008-11-22 23:39
银牌会员 发帖 1,122 积分 2,025
1:
echo "第一行\n第二行"
\n在批处理中有等效符号吗?

没有这个用法。有些第三方的命令行工具就有。

2:
Alt+010这样的符号如何写出来?

用搜狗拼音输入法的“自定义短语”,将这个字符添加进去,以后就可以打出来了。
第5楼 HAT 发表于 2008-11-22 23:55
版主 发帖 5,017 积分 9,023
3:
Ctrl+Z产生的是一个控制字符,标准控制台无法显示它本来的面目,只是用^Z给用户看看而已;手工输入^Z,只是两个普通字符而已,自然无法起到控制字符的作用。
第6楼 maky1117 发表于 2008-11-23 15:53
初级用户 发帖 11 积分 24
按照各位大大的说法,1和2和3都无法实现咯,因为这些控制字符只能键盘敲入,无法书写表达..
还有,不是很明白HAT大大让我看for /?的意思,能不能用易懂的实例砸一下我的笨脑壳呢?
至于第5个,谢谢HAT大大的提示,我想可能是call变量延迟导致<>难逃被转义的命运,所以决定把语句拆了,这样就没问题啦,只是看上去有点脏乱差
set a=10
call :Default a 测试
:Default <para> <tip>
set/p= ^<<nul
call set/p=%%%1%%<nul
set/p=^> [%2]:<nul
pause
第7楼 tireless 发表于 2008-11-23 16:13
银牌会员 发帖 1,122 积分 2,025
Re 6楼
不是很明白HAT大大让我看for /?的意思,能不能用易懂的实例砸一下我的笨脑壳呢?

实例就是,把第 4 段最后两句改成:

set s=%~1
set t=%~2

即 for /? 中所说的:
另外,FOR 变量参照的替换已被增强。您现在可以使用下列
选项语法:

~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩充到
请按任意键继续. . .
第8楼 maky1117 发表于 2008-11-23 19:16
初级用户 发帖 11 积分 24
我以为这些语法只适合给for语句用,原来其他都通用呀,明白,谢谢楼上前辈支招!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023