|
xyzup
初级用户
 
积分 39
发帖 16
注册 2006-12-6
状态 离线
|
『楼 主』:
百分号"%" 与 变量 的使用问题
我来提几个问题吧:
"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 ]
|
|
2006-12-8 13:00 |
|
|
namejm
荣誉版主
       batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
2 楼』:
你在一个帖子里问的不相干的问题有点多,显得有点乱,建议你拆分成几个独立的帖子来发问,可以合法正当地赚积分的,嘿嘿。
先偷下懒,挑个简单的回答一下:for 后的 %%a 用在批处理文件中就必须要两个连用的百分号,在CMD窗口下执行的话,就只能用一个百分号了,这是for语句的一个规定。
|

尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2006-12-8 13:18 |
|
|
xyzup
初级用户
 
积分 39
发帖 16
注册 2006-12-6
状态 离线
|
『第
3 楼』:
版主要我改标题..还真的不知道改什么好..
因为这属于个人的理解的问题...又有几个那么多...有点杂...
或者版主想到...帮我改一个..
谢谢第二个问题的答案...不说还真的不清楚原来在批处理..和CMD窗口执行是有区别的...
|
|
2006-12-8 14:06 |
|
|
namejm
荣誉版主
       batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
4 楼』:
你说不知道如何修改标题,那是因为你在一个帖子里问了几个不甚相关的问题,建议你一个问题开一个帖子来提问,这样既解决了标题问题,也方便你以后的检索。
|

尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2006-12-8 23:25 |
|
|
jkclm
新手上路

积分 7
发帖 3
注册 2006-12-3
状态 离线
|
『第
5 楼』:
我对变量的使用也才有点认识
可以通过 set 语句来实现
set/p hdid=请输入要格式化的磁盘(不包括冒号)
format %hdid%:
pause
|
|
2006-12-8 23:44 |
|
|
xyzup
初级用户
 
积分 39
发帖 16
注册 2006-12-6
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by jkclm at 2006-12-8 10:44 AM:
我对变量的使用也才有点认识
可以通过 set 语句来实现
set/p hdid=请输入要格式化的磁盘(不包括冒号)
format %hdid%:
pause |
|
============
谢谢这位朋友啦.~~又学到一样新的东西了~
版主,这帖就放过我吧!!~~呵呵~~
以后绝不会有这种情况出现了~
还有,前两天坛子的域名好像解释不了~访问不到论坛啊
所以三天期限也过了~
|
|
2006-12-12 08:30 |
|
|
xyzup
初级用户
 
积分 39
发帖 16
注册 2006-12-6
状态 离线
|
『第
7 楼』:
但是照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 ]
|
|
2006-12-12 08:43 |
|
|
yardian
中级用户
  
积分 305
发帖 85
注册 2005-5-23
状态 离线
|
『第
8 楼』:
关键对usebackq不理解,看不懂help。希望高人能解释一下
|
|
2006-12-12 08:48 |
|
|
zyw052553
新手上路

积分 18
发帖 9
注册 2006-12-18
状态 离线
|
『第
9 楼』:
eol=c - 指一个行注释字符的结尾(就一个)
eol=;
在这里指会分析文件中的每一行,忽略以分号打头的那些行
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代
tokens=2
将每行中的第二个符号传递给 for 程序体
delims=xxx - 指分隔符集这个替换了空格和跳格键的 默认分隔符集。
delims=:
用:定界符号
usebackq
对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使 用双引号,您还需要使用 usebackq 选项,否则,双引号会 被理解成是用作定义某个要分析的字符串的。
|
|
2006-12-19 03:15 |
|
|
9527
银牌会员
     努力做坏人
积分 1185
发帖 438
注册 2006-8-28 来自 北京
状态 离线
|
『第
10 楼』:
我记不清这个问题在论坛问了多少遍了?就不能利用论坛的搜索功能找找吗?论坛开启搜索功能已经很方便啦,唉............
|

我今后在论坛的目标就是做个超级坏人!!! |
|
2006-12-19 03:30 |
|