%%-%ds经纬度表示格式什么格式

%d,%c,%s,%x各代表什么_百度知道
%d,%c,%s,%x各代表什么
我有更好的答案
转换说明符
浮点数、十六进制数字和p-(P-)记数法(C99)
有符号十进制整数
浮点数(包括float和doulbe)
浮点数指数输出[e-(E-)记数法]
浮点数不显无意义的零&0&
有符号十进制整数(与%d相同)
无符号十进制整数
八进制整数
十六进制整数0f(0F)
&%&2.标志
左对齐:&-&
右对齐:&+&
空格:若符号为正,则显示空格,负则显示&-&
#:对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;
对e,g,f 类当结果有小数时才给出小数点。3.格式字符串(格式)
〔标志〕〔输出最少宽度〕〔.精度〕〔长度〕类型
&%-md& :左对齐,若m比实际少时,按实际输出。
&%m.ns&:输出m位,取字符串(左起)n位,左补空格,当n&m or m省略时m=n
&%m.nf&:输出浮点数,m为宽度,n为小数点右边数位
输入3852.99
输出3853.0
长度:为h短整形量,l为长整形量
采纳率:42%
%d表示输入或输出整型数据(int ),%c表示输入或输出字符数据(char
),%s表示输入或输出字符串(char a[] ),%x表示以十六进制输出 这些东西是代表一些数据类型。
在输入输出语句中,%d表示输入或输出整型数据(int ),%c表示输入或输出字符数据(char
),%s表示输入或输出字符串(char a[] ),%x表示以十六进制输出
这类符号叫格式化输出函数格式描述符....%d代表有符号十进制整数.%c代表的是单个字符..%s代表输出字符串.%x代表无符号十六进制整数...不知道这么回答你满不满意...
在输入输出语句中表示数据的数制的,例%c,输入或输出时的数据是字符串,靠10几看都没用过这东西了哈哈
你cout试试啊。。不经常用也忘了
其他3条回答
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。豆丁微信公众号
君,已阅读到文档的结尾了呢~~
scanf函数输入字符字符串如何分隔
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
scanf函数输入字符字符串如何分隔
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口51CTO旗下网站
Python格式化中如何使用%运算符详解
本文只要是介绍python格式化在使用%运算符时,Python格式化如何使用%运算符,以下是相关内容的详细介绍。希望你会有所收获。
作者:佚名来源:互联网| 11:20
在python中你也许会遇到过python格式化的相关实际应用的内容,而在python格式化中你是否对其的实际应用步骤或是对其的代码有不解之处,如果存在相关的问题,你就可以浏览下面得文章。
在python中也有类似于c中的printf()的格式输出标记。在python格式化使用的是%运算符,通用的形式为
格式标记字符串 % 要输出的值组 其中,左边部分的&格式标记字符串&可以完全和c中的一致。右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开。重点来看左边的部分。左边部分的最简单形式为:%cdoe 其中的code有多种,不过由于在python格式化中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用&%s&来标记。比如:
'%s&%s&%s'&%&(1,&2.3,&['one',&'two',&'three'])&&
它的输出为
'1&2.3&['one',&'two',&'three']' &&
就是按照%左边的标记输出的。虽然第一个和第二值不是string类型,一样没有问题。在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出。前面说过还有一个repr()函数,如果要用这个函数,可以用%r来标记。除了%s外,还有很多类似的code:
整型数:%d 无符号整型数:%u 八进制:%o 十六进制:%x %X 浮点数:%f科学记数法: %e %E 根据数值的不同自动选择%e或%f: %g 根据数值的不同自动选择%E或%f: %G 就跟前面说用\进行转义一样,这里用%作为格式标记的标识,也有一个%本身应该如何输出的问题。如果要在&格式标记字符串&中输出%本身,可以用%%来表示。上面说的只是格式标记的最简间的形式,来看复杂一点的:
&%6.2f&&%&1.235&&
在这种形式中,在f的前面出现了一个类似小数的6.2它表示的意思是,总共输出的长度为6个字符,其中小数2位。还有更复杂的:
&%06.2f&&%&1.235&&
在6的前面多了一个0,表示如果输出的位数不足6位就用0补足6位。这一行的输出为&001.24&,可以看到小数也占用一位。类似于这里0这样的标记还有-、+。其中,-表示左对齐,+表示在正数前面也标上+号,默认是不加的。最后来看最复杂的形式:
&%(name)s:%(score)06.1f&&%{'score':9.5,&'name':'newsim'}&&
这种形式只用在要输出的内容为dictionary(一种python格式化的数据类型)时,小括号中的(name)和(score)对应于后面的键值对中的键。前面的例子可以看到,&格式标记字符串&中标记的顺序和&要输出的值组&中的值是一一对应的,有顺序,一对一,二对二。而在这种形式中,则不是,每个格式标记对应哪个值由小括号中的键来指定。这行代码的输出为:'newsim:0009.5'。
有时候在%6.2f这种形式中,6和2也不能事先指定,会在程序运行过程中再产生,那怎么输入呢,当然不能用%%d.%df或%d.%d%f。可以用%*.*f的形式,当然在后面的&要输出的值组&中包含那两个*的值。比如:'%*.*f' % (6, 2, 2.345)就相当于'%6.2f' % 2.345。
【编辑推荐】
【责任编辑: TEL:(010)】
大家都在看猜你喜欢
头条热点关注头条头条
24H热文一周话题本月最赞
讲师:125645人学习过
讲师:15031人学习过
讲师:16378人学习过
精选博文论坛热帖下载排行
本书主要以“网管员的成长经历”为线索展开,虚拟出一个“新手”网管员的工作和学习环境,将网管员的成长分为4个阶段,以“网管入职充电→...
订阅51CTO邮刊C语言中%d的%,d分别表示什么?_百度知道
C语言中%d的%,d分别表示什么?
C语言中%d是表示整数输入输出的意思?其中d表示什么?但是%不是取余的意思吗?为什么会出现整数的意思呢?
我有更好的答案
c语言输入输出控制符,%i---输出一个整型数;%d---输出一个整型数;%f---输出一个浮点数;%e---输出一个浮点数,科学计数法;%g---输出一个浮点数,当指数小于-4或者大于5,则运用科学计数法,否则正常显示浮点数;%c---输出一个字符;%o---输出一个八进制的整型数,前面不带0;%#o---输出一个八进制的整型数,前面带0;%x---输出一个十六进制的整型数,前面不带0x;%#x---输出一个十六进制的整型数,前面带0x,&如果x大写,则显示的时候也是大写。%u---不带符号的十进制整数。%%---输出一个%.
采纳率:62%
来自团队:
为您推荐:
其他类似问题
c语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。dos命令for用法详解
转载 &更新时间:日 23:19:45 & 作者:
批处理 bat中的for命令的作用,非常的不错,可以节省很多效率,它可以读取文章的没一行,循环执行ping命令,老探索端口,学习批处理如果不学习for将是个遗憾,希望大家多看看for 命令的实际应用的例子
for帮助文档对一组文件中的每一个文件执行某个特定命令。 FOR %variable IN (set) DO command [command-parameters] %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。 在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I. 如果命令扩展被启用,下列额外的 FOR 命令格式会受到 支持: FOR /D %variable IN (set) DO command [command-parameters] 如果集中包含通配符,则指定与目录名匹配,而不与文件 名匹配。 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] 检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。如果在 /R 后没有指定目录,则使用当前 目录。如果集仅为一个单点(.)字符,则枚举该目录树。 FOR /L %variable IN (start,step,end) DO command [command-parameters] 该集表示以增量形式从开始到结束的一个数字序列。 因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生 序列 (5 4 3 2 1)。 FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] FOR /F ["options"] %variable IN ("string") DO command [command-parameters] FOR /F ["options"] %variable IN ('command') DO command [command-parameters] 或者,如果有 usebackq 选项: FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] FOR /F ["options"] %variable IN ("string") DO command [command-parameters] FOR /F ["options"] %variable IN ('command') DO command [command-parameters] filenameset 为一个或多个文件名。继续到 filenameset 中的 下一个文件之前,每份文件都已被打开、读取并经过处理。 处理包括读取文件,将其分成一行行的文字,然后将每行 解析成零或更多的符号。然后用已找到的符号字符串变量值 调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开 的第一个空白符号。跳过空白行。您可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个或多个 指定不同解析选项的关键字。这些关键字为: eol=c - 指一个行注释字符的结尾(就一个) skip=n - 指在文件开始时忽略的行数。 delims=xxx - 指分隔符集。这个替换了空格和跳格键的 默认分隔符集。 tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代 的 for 本身。这会导致额外变量名称的分配。m-n 格式为一个范围。通过 nth 符号指定 mth。如果 符号字符串中的最后一个字符星号, 那么额外的变量将在最后一个符号解析之后 分配并接受行的保留文本。 usebackq - 指定新语法已在下类情况中使用: 在作为命令执行一个后引号的字符串并且一个单 引号字符为文字字符串命令并允许在 filenameset 中使用双引号扩起文件名称。 某些范例可能有助: FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k 会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将 每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或 空格定界符号。请注意,这个 for 程序体的语句引用 %i 来 取得第二个符号,引用 %j 来取得第三个符号,引用 %k 来取得第三个符号后的所有剩余符号。对于带有空格的文件 名,您需要用双引号将文件名括起来。为了用这种方式来使 用双引号,您还需要使用 usebackq 选项,否则,双引号会 被理解成是用作定义某个要分析的字符串的。 %i 专门在 for 语句中得到说明,%j 和 %k 是通过 tokens= 选项专门得到说明的。您可以通过 tokens= 一行 指定最多 26 个符号,只要不试图说明一个高于字母 'z' 或 'Z' 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;而且, 同时不能有 52 个以上都在使用中。 您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是, 用单引号将括号之间的 filenameset 括起来。这样,该字符 串会被当作一个文件中的一个单一输入行。 最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将 括号之间的 filenameset 变成一个反括字符串。该字符串会 被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进 内存,并被当作文件分析。因此,以下例子: FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i 会枚举当前环境中的环境变量名称。 另外,FOR 变量参照的替换已被增强。您现在可以使用下列 选项语法: ~I - 删除任何引号("),扩展 %I %~fI - 将 %I 扩展到一个完全合格的路径名 %~dI - 仅将 %I 扩展到一个驱动器号 %~pI - 仅将 %I 扩展到一个路径 %~nI - 仅将 %I 扩展到一个文件名 %~xI - 仅将 %I 扩展到一个文件扩展名 %~sI - 扩展的路径只含有短名 %~aI - 将 %I 扩展到文件的文件属性 %~tI - 将 %I 扩展到文件的日期/时间 %~zI - 将 %I 扩展到文件的大小 %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩展到 空字符串 可以组合修饰符来得到多重结果: %~dpI - 仅将 %I 扩展到一个驱动器号和路径 %~nxI - 仅将 %I 扩展到一个文件名和扩展名 %~fsI - 仅将 %I 扩展到一个带有短名的完整路径名 %~dp$PATH:I - 搜索列在路径环境变量的目录,并将 %I 扩展 到找到的第一个驱动器号和路径。 %~ftzaI - 将 %I 扩展到类似输出线路的 DIR 在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法 用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名 比较易读,而且避免与不分大小写的组合键混淆。 dos中for的用法 for /参数 %变量 in (集) do 命令 FOR分四种参数 D L R F 一、参数 /d for /d %%变量 in (集) do 命令 /d 参数是指定仅对目录而不是文件执行的for命令。 二、参数 /R /R参数之后还可带盘符及路径 for /r 此处可以带有路径 %变量 in (集) do 命令 在/r 之后的那个路径,指包含它之下的整个目录树(相当于DOS命令tree里的范围)中的所有目录,如果仅为一个英文句点 . ,是指当前路径下的目录树,如果省略了路径则特指当前目录,而之后的in (集)则相当于与前面每个目录相配的文件集 这里按in(集)中有无通配符分两种情况 1) in(集)中没有通配符 指定的是单个文件或列举的具体文件(多个文件名之间用分隔符分隔,如空格、逗号等) 例2 @echo of for /r . %i in (abc.txt) do echo. & %i echo on 注:这里for /r 后的路径仅有一个 . 而后面每个循环中echo. & %i相当于创建一个仅有一空行的文本文件,整体效果是在当前目录下包括子录,每个目录中建一个abc.txt。 例3 (放入批处理中) @echo off rem 显示d:盘中所有文件名为file1和file2的列表 for /r d:\ %%h in (file1,file2) do if exist%%h echo %%h pause 2) in(集)中含有通配符*或? 这种里面的do命令将处理前面 /r指定的目录系列里每个含有in(集)中文件的项,而不去理会不含有相配文件的那些目录 例4: @echo off rem 删除C盘中所有*.chk的文件 for /r c:\ %%h in (*.chk) do del /q %%h pause 注:del /q 表示用安静模式删除(不需确认) 三、参数 /L for /L%%变量 in (起始值,每次增值,结束时的比较值) do 命令 (上面L也可用小写,主要为了视觉上不与数字1混淆而没用小写) (起始值,每次增值,结束时的比较值)相当于一个等差数字序列,从“起始值”的数字开始,每次增加多少(也可设定为负数)为“每次增值”,并与“结束时的比较值”比较,超出则退出for循环(也不执行本轮后面的do 命令) 例如 (1,1,3) 将产生序列 (1 2 3);(1,2,9)将产生序列(1 3 5 7 9);(5,-1,1) 将产生序列 (5 4 3 2 1);(1,3,18)将产生序列(1 7 10 13 16) 例5 @echooff ::在D盘建立aa1~ aa5五个文件夹 for /L%%i in (1,1,5) do md d:\aa %%i pause 注:在行首,单个冒号:接一名称,是标号行,对应于批处理中go后指向的位置,而双冒号::一般是用来作注释用,注释在批处理中可以用rem加空格来表达,二者稍有不同,rem注释在未关闭命令回显时会在屏幕显示出来,而::则什么情况下都不会显示。 四、参数 /f 这个参数/f将会打开(集)里的文件,使for命令能处理文本文件的读取和添加删除替换等编辑性的操作,可谓功能强大,因此也相对复杂一些。 文件名-集 for /f “选项” %变量 in ( “字符串”-集 ) do 命令 ‘命令'-集 /f 后可以带有几种选项,不带选项当然也是合格的格式,而带有参数则必须以引号整体括起来,后面的集里主要由三种形式形成的,最终在for循环中的每一轮中会形成读取一行字符串,来给指定的%变量、以及给由于选项中派生出附加变量赋值后,执行do后面的命令 下面以例子来具体说明和逐步理解各分项的用法 例6 假定d:\abc.txt内容如下: 姓名 性别 年龄 等-级 张三 男 36 A-1 李四 男 29 B-2 赵六 女 31 A-2 执行如下命令: for /f %c in (d:\abc.txt) do @echo %c 则屏幕上显示: 姓名 张三 李四 赵六 解释:这是for /r 在“%变量”前缺省参数选项时的情况,循环中每轮会默认以空格为分隔,在打开的文件中逐行给字符串分段,又因为没给增添附加变量(即仅一个变量%c)则仅把第一段的字符赋给%c,再执行 do后的命令,然后进行循环的下一轮,并且默认忽略空行 改一下: for /f “skip=1 tokens=1,4 delims= ” %c in(d:\abc.txt) do @echo %c %d 显示为: 张三 A-1 李四 B-2 赵六 A-2 解: skip=1 表示文本开始忽略的行数为1 ——忽略几行 delims= 在一行中,用什么单个符号(可以有多字符组合,之间也不能加空格,被理解为多项单个字符,如要空格符须放最后)来分隔字符串作为读取赋值的单元(形成一段),本例中等号后是空的表示仅用空格来分隔。——用什么刀来切分 tokens=1,4 这个等号后的数字表示依次取第几个被分隔的字符串段,来分别赋给%变量及顺序附加的变量,本例取第1个段赋给%c,第4个段赋给c后的一个变量也就是赋给%d,并且,可以写成tokens=1,2,5-7或tokens=1,2,3* 或tokens=1,2,5,7分别表示取第1,2,5,6,7(依次赋给%c, %d, %e, %,f, %g共5个变量)、1,2,3及3后的所有段(要赋给3个变量)、1,2,5,7(要赋给4个变量),tokens=后的数字号可以不按顺序,但书写的顺序与分配给变量的顺序是对应的,这是赋值,至于之后do命令中用不用是另一回事。换句话 &&——最多只需取哪几段 in (变量) 中的那个变量,代表起始的一个变量名,按tokens中定义的总个数来扩充附加变量名,如总个数为3,则%c 就附加%d和%e ,要是%C就附加%D%E… 本例中tokens=1,4仅需两个,起始的是in () 括号中的%c 则每行中第一段赋给%c,第4段赋给变量%d 以第二行(第一行被skip=1跳过了)为例,在 “张三 男 36 A-1 ” 中(正好也是用的空格分隔)共被空格之刀切为五段,只要第1、4,即张三赋给%c, A-1赋给%d,执行@echo %c %d然后下一轮…而空行照旧被省去了。 再稍改一下: for /f “skip=1 tokens=4,1 delims=- “ %c in(d:\abc.txt) do @echo %c %d 则显示为: A 张三 B 李四 A 赵六 例7 假定d:\aa.txt内容如下: Volume in drive D is MYDA Volume Serial Number is C35D-8998 Directory of D:tmp 09/25/ AM 11,235 yg0925.txt 11/12/ pM 795 buple.txt 04/11/ AM 2,043 vitn.txt 3File(s) 12,673 bytes 0 Dir(s) 5,020,200,655 bytes free 在命令行输入: for /f "skip=5 tokens=5" %a in(d:\aa.txt) do @echo %a 会显示: yg0925.txt buple.txt vitn.txt free 本意想把文件里列出的文件显示出来(当然也可以换成对文件进行其他命令操作) 通过skip=5 忽略掉前5行,默认以空格分隔后tokens=5取每行第五段字符就顺利地把文件名赋给变量%a,美中不足最后一行取了个不是文件名的(当然可用其他方法处理这个多余的只是for/f中没提供忽略最后几行的格式),而倒数第二行则无第五段。 显然例中aa.txt里的内容是某次执行dir命令后的内容。它可用类似命令: dir &d:\aa.txt来建立 题外话,如果在dir中加入合适的参数/b,就可以回避多余的部分,还可加入/ad只显示目录,加入/a-d只显示文件等 那么,我们完全可以直接书写命令放入in后的(‘命令'-集)中 for /f "skip=5 tokens=5 " %a in('dir') do @echo %a 效果一样。 注:命令集需用单引号括起来以表示不是文件集,如用双引号括起来则表示是字符串集,本例是为了说明for命令的用法,真正有这种用途也愿意用前面“题外话”的方法。如果你在执行本例后什么也没显示,你需要先用集里的命令先执行一次,看它显示的格式,也许需要把tokens=5 改成tokens=4 或许还应当给dir加上参数 /a-d以回避显示出目录。 如果集里是由多个文件组成,那么处理完一个文件后又处理完又去处理另一个文件,每个文件行数不同循环次数(do命令的次数)也将因此不同。 如果集里是由命令产生的系统,那么你必须首先熟悉该命令执行后会产生怎样效果的字符系统,才能正确安排后面的do命令 画龙点睛:无论in后的集是哪种形式,for/f 都最终分解为字符串,按需要是否“忽略几行”(skip=)、“用什么刀来切分”(delims= )、“最多只需取哪几段”(tokens=)将集里形成的字符串,逐行地分段赋给%或%%后的变量及可能顺延扩展出的变量,以执行do后的命令,每一行即为一轮循环。这里没完整说明全部参数,请在命令行用for/?查看。(下面的斜体字是复制的帮助里的内容) 例如: 对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。——换句话说,带有usebackq(放在for /f 之后的引号里)参数时 in ()里用双引号表示的仍是文件名。 还有一个选项eol= :前面所说skip=是表示忽略开始的几行,其实默认状况还忽略所有分号“ ; ”开始的行,如果你想不忽略分号开始的行,或者想忽略自己指定一字符开始的行就可以在for /f 之后那引号参数里使用eol=你自己定义的字符,但它不像delims=的那样可定义多个,只允许定义一个。 另一花样:可以用 %~ 操作符将文件名分离成文件名、扩展名、盘符等独立部分 ,请看for/?中的解释(其中示例的变量为%I): 另外,FOR 变量参照的替换已被增强。您现在可以使用下列选项语法: ~I - 删除任何引号("),扩充 %I %~fI - 将 %I 扩充到一个完全合格的路径名 %~dI - 仅将 %I 扩充到一个驱动器号 %~pI - 仅将 %I 扩充到一个路径 %~nI - 仅将 %I 扩充到一个文件名 %~xI - 仅将 %I 扩充到一个文件扩展名 %~sI - 扩充的路径只含有短名 %~aI - 将 %I 扩充到文件的文件属性 %~tI - 将 %I 扩充到文件的日期/时间 %~zI - 将 %I 扩充到文件的大小 %~$PATH:I- 查找列在路径环境变量的目录,并将 %I 扩充 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩充到空字符串 可以组合修饰符来得到多重结果: %~dpI - 仅将 %I 扩充到一个驱动器号和路径 %~nxI - 仅将 %I 扩充到一个文件名和扩展名 %~fsI - 仅将 %I 扩充到一个带有短名的完整路径名 %~dp$PATH:I- 查找列在路径环境变量的目录,并将 %I 扩充 到找到的第一个驱动器号和路径。 %~ftzaI- 将 %I 扩充到类似输出线路的 DIR 简记:凡是 %~ 打头的操作符,都是文件名或环境变量的分离操作。而每项要想运用自如,则需要付出辛勤的练习。 练习:(我偷点懒,自己不作了...) 遍历C、D盘,查找已知文件名(接收键盘输入),把其存放位置、时间,记录到D:\mynote.txt 记录格式如: xx年xx月xx日 经查找在C盘、D盘的xx文件情况如下: 时间 位置 提示:可能用到的DOS命令、变量、参数: echo、set 、set/p 、%date%、%~ &、&& 总结及提示: for 命令的实际用法基本上已终结,但是仅此是不能写出强大功能的批处理的,它只是一条DOS命令,需要熟练一些其他的DOS命令和Windows系统提供的命令,组合运用,才能充分发挥其强大、实用的功能,使得一些复杂事情,处理起来意想不到的简洁方便。 附:常见在批处理for命令中需要的一个的命令或者叫环境设置: for命令实际上是会作循环,如果在每轮的命令中改变某环境变量值,在默认状态,一条for命令用%环境变量%只取一次值的,那么下轮循环中再用时还是改变前的值(包括do后面带有括号里的多条命令的执行期间),就没达到预期目的,为此,引入下面命令: setlocal enabledelayedexpansion 开始批处理文件中环境改动的本地化操作,并启动延缓环境变量扩展。在执行SETLOCAL 达到批处理文件结尾时,对于该批处理文件的每个尚未执行的 setlocal 命令,都会有一个隐含的 endlocal 被执行。 在取变量值时,用!变量名!可以动态取值,延迟环境变量扩充允许您使用一个不同的字符(惊叹号)在执行时间扩充环境变量。这个用法实际是属于在批处理中所有复合型命令都需要注意的。如果批处理结束后不希望将改变的环境保留,建议总是加上setlocal 。 要是结合一些其他复杂些的有关系统的、网络的命令(如wmic、net)进来,那才是方显FOR英雄本色,比如遍历本地磁盘可以用命令:wmic logicaldiskwhere "drivetype=3" get name 显然要在所有磁盘里查找某文件并作相应操作就很容易了,用好for命令也是需要其他命令和计算机基础配合的。呵呵,本人水平有限,写的只是低级层次的...但愿能对有缘来这里看的初学DOS的FOR命令者有所帮助。 DOS for 实例 格式:FOR [参数] %%变量名 IN (相关文件或命令) DO 执行的命令   作用:对一个或一组文件,字符串或命令结果中的每一个对象执行特定命令,达到我们想要的结果。   注意:在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable,而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.   关于:for命令可以带参数或不带参数,带参数时支持以下参数:/d /l /r /f   下面分别解释一下   ===   零:无参数时:   ---   FOR %variable IN (set) DO command [command-parameters]   %variable 指定一个单一字母可替换的参数。   (set) 指定一个或一组文件。可以使用通配符。   command 指定对每个文件执行的命令。   command-parameters   为特定命令指定参数或命令行开关。   TTT示例:   for %%i in (t*.*) do echo %%i --显示当前目录下与t*.*相匹配的文件(只显示文件名,不显示路径)   for %%i in (d:\mydocuments\*.doc) do @echo %%i --显示d:\mydocuments\目录下与*.doc相匹配的文件   ===   一、参数 /d (参数只能显示当前目录下的目录名字)   ---   格式:FOR /D %variable IN (set) DO command [command-parameters]   这个参数主要用于目录搜索,不会搜索文件,/D 参数只能显示当前目录下的目录名字。(TTT特别说明:只会搜索指定目录下的目录,不会搜索再下一级的目录。)   TTT示例:   for /d %%i in (c:\*) do echo %%i --显示c盘根目录下的所有目录   for /d %%i in (???) do echo %%i --显示当前目录下名字只有1-3个字母的目录   ===   二、参数 /R (搜索指定路径及所有子目录中与set相符合的所有文件)   ---   格式:FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]   此命令会搜索指定路径及所有子目录中与set相符合的所有文件,注意是指定路径及所有子目录。   1、set中的文件名如果含有通配符(?或*),则列举/R参数指定的目录及其下面的所用子目录中与set相符合的所有文件,无相符文件的目录则不列举。   2、如果set中为具体文件名,不含通配符,则枚举该目录树(即列举该目录及其下面的所有子目录)(并在后面加上具体的文件名),而不管set中的指定文件是否存在。   例:for /r c:\ %%i in (*.exe) do echo %%i --把C盘根目录,和每个目录的子目录下面全部的EXE文件都列出来了!!!!   TTT示例:   for /r c:\ %%i in (boot.ini) do echo %%i --枚举了c盘所有目录   for /r d:\backup %%i in (1) do echo %%i --枚举d\backup目录   for /r c:\ %%i in (boot.ini) do if exist %%i echo %%i --很好的搜索命令,列举boot.ini存在的目录   ===   三、参数 /L (该集表示以增量形式从开始到结束的一个数字序列。可以使用负的 Step)   ---   格式:FOR /L %variable IN (start,step,end) DO command [command-parameters]   该集表示以增量形式从开始到结束的一个数字序列。可以使用负的 Step   TTT示例:   for /l %%i in (1,1,5) do @echo %%i --输出1 2 3 4 5   for /l %%i in (1,2,10) do @echo %%i --输出1,3,5,7,9   for /l %%i in (100,-20,1) do @echo %%i --输出100,80,60,40,20   for /l %%i in (1,1,5) do start cmd --打开5个CMD窗口   for /l %%i in (1,1,5) do md %%i --建立从1~5共5个文件夹   for /l %%i in (1,1,5) do rd /q %%i --删除从1~5共5个文件夹
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 经纬度表示格式 的文章

 

随机推荐