![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 19:11 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 百分号"%" 与 变量 的使用问题 |
| 可打印版本 1,398 / 9 |
| 第1楼 xyzup | 发表于 2006-12-08 13:00 |
| 初级用户 发帖 16 积分 39 | |
|
百分号"%" 与 变量 的使用问题 我来提几个问题吧:
"usebackq eol=; tokens=2 delims=:"里面的分别是什么意思..可否做一个最简单的例子..我查了一下cmd help 不怎么理解(还有其他否?) 还有for后面的 %%a 是否可以只用一个%a分号代表?? 一个和两个区别是什么? a.bat中. format %1 要format C 只能输入a.bat c: 这样吗? 不可以像C或其他语言那样在运行中提示输入吗? 例如:>运行format.bat >提示:请输入要格式化的盘 >c: >格式化进行中.. >完成 (chioce?)还有别的?? 刚不久才对批处理感兴趣...有些无聊的问题,...希望各位不厌其烦..提点一下.. [ Last edited by namejm on 2006-12-11 at 07:47 PM ] |
|
| 第2楼 namejm | 发表于 2006-12-08 13:18 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
你在一个帖子里问的不相干的问题有点多,显得有点乱,建议你拆分成几个独立的帖子来发问,可以合法正当地赚积分的,嘿嘿。
先偷下懒,挑个简单的回答一下:for 后的 %%a 用在批处理文件中就必须要两个连用的百分号,在CMD窗口下执行的话,就只能用一个百分号了,这是for语句的一个规定。 |
|
| 第3楼 xyzup | 发表于 2006-12-08 14:06 |
| 初级用户 发帖 16 积分 39 | |
|
版主要我改标题..还真的不知道改什么好..
因为这属于个人的理解的问题...又有几个那么多...有点杂... 或者版主想到...帮我改一个.. 谢谢第二个问题的答案...不说还真的不清楚原来在批处理..和CMD窗口执行是有区别的... |
|
| 第4楼 namejm | 发表于 2006-12-08 23:25 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
你说不知道如何修改标题,那是因为你在一个帖子里问了几个不甚相关的问题,建议你一个问题开一个帖子来提问,这样既解决了标题问题,也方便你以后的检索。
|
|
| 第5楼 jkclm | 发表于 2006-12-08 23:44 |
| 新手上路 发帖 3 积分 7 | |
|
我对变量的使用也才有点认识
可以通过 set 语句来实现 set/p hdid=请输入要格式化的磁盘(不包括冒号) format %hdid%: pause |
|
| 第6楼 xyzup | 发表于 2006-12-12 08:30 |
| 初级用户 发帖 16 积分 39 | |
Originally posted by jkclm at 2006-12-8 10:44 AM: ============ 谢谢这位朋友啦.~~又学到一样新的东西了~ 版主,这帖就放过我吧!!~~呵呵~~ 以后绝不会有这种情况出现了~ 还有,前两天坛子的域名好像解释不了~访问不到论坛啊 所以三天期限也过了~ |
|
| 第7楼 xyzup | 发表于 2006-12-12 08:43 |
| 初级用户 发帖 16 积分 39 | |
|
但是照5楼jkclm那样写..也出现一个很奇怪的现象~
@echo off set/p hdid=请输入要格式化的磁盘(不包括冒号): format %hdid%: pause 按理说,当输入了盘号,就会执行format命令,然后pause,然后退出!~ 但是好象循环了..不会跳出...(而且format时也没问我yes or no) 大家帮忙说明一下是怎么回事啦...我就觉得这些事情不可理解,,, [ Last edited by xyzup on 2006-12-11 at 08:03 PM ] |
|
| 第8楼 yardian | 发表于 2006-12-12 08:48 |
| 中级用户 发帖 85 积分 305 | |
|
关键对usebackq不理解,看不懂help。希望高人能解释一下
|
|
| 第9楼 zyw052553 | 发表于 2006-12-19 03:15 |
| 新手上路 发帖 9 积分 18 | |
|
eol=c - 指一个行注释字符的结尾(就一个)
eol=; 在这里指会分析文件中的每一行,忽略以分号打头的那些行 tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代 tokens=2 将每行中的第二个符号传递给 for 程序体 delims=xxx - 指分隔符集这个替换了空格和跳格键的 默认分隔符集。 delims=: 用:定界符号 usebackq 对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使 用双引号,您还需要使用 usebackq 选项,否则,双引号会 被理解成是用作定义某个要分析的字符串的。 |
|
| 第10楼 9527 | 发表于 2006-12-19 03:30 |
| 银牌会员 发帖 438 积分 1,185 来自 北京 | |
|
我记不清这个问题在论坛问了多少遍了?就不能利用论坛的搜索功能找找吗?论坛开启搜索功能已经很方便啦,唉............
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |