在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
复制代码 代码如下: @echo off @title 字符串的编辑测试(下面描述用的箭头→ ← 分别表示向右、向左的意思) set aa=1234567890 echo 说明:下面复合变量中,逗号前的数字表示指针偏移量,逗号后的数字表示提取的字符长度 echo %aa:~1,5% //指针向右→偏移1位,然后从指针处开始向右→提取5个字符. echo %aa:~0,-3% //指针不偏移,→提取所有字符,并除去最后3个字符. echo %aa:~5% //单个数字,不指定长度值.表示指针→偏移5个字符,然后,→提取所有字符. echo %aa:~-5% //单个负值,特例,表示指针反方向偏移,从最右端起,←偏移5位,然后从指针处开始→提取所有字符.也可以简单理解为提取字符串末尾5个字符. echo 指针反方向偏移的情况.既是从字符串最右端起自右向左偏移.← echo %aa:~-2,1% //偏移量取负值,表示指针从最右端起,向左←偏移2位,然后从指针处开始向右→提取1个字符,生成新的变量值.注意字符串末尾的空格,因为空格也将作为"透明字符"提取到变量中去,切记要去掉变量末尾的空格.ctrl+A即可快速方便的检查该变量字符串末端是否含有空格. echo %aa:~-4,3% //最右端起,指针←偏移4位,然后→提取3个字符. echo %aa:~-4,-2% //从最右端起,指针←偏移4位,然后从指针处开始,→提取所有字符,并去除最后2个字符. echo 应用 echo %date:~0,10% //提取年月日信息 echo %date:~-3% //提取星期几信息 echo %time:~0,5% //提取时间中的时和分 echo %time:~0,-3% //提取时和分和秒信息 pause 小结: 1、偏移量为正值时,表示指针向右移动;为负值时,表示指针从字符串最右端起向左移动. 2、如果长度值为正,表示向右提取若干个字符;如果为负,表示向右提取所有字符,并去除若干个字符."若干个=长度值的绝对值。"提取字符的方向总是自左向右进行的. 3、如果为单个数字,那么这个数字表示的是偏移量,长度值取默认值,既是字符串的"余数",也就是从指针处开始,向右方向的所有字符.如果这个数字是负数,可以简单的理解为:提取字符串末尾的若干个字符.(正确的解释应该是:表示指针反方向偏移,从最右端起,←偏移若干位,然后从指针处开始→提取所有字符) ■ %date%和%time%是系统内置的日期变量和时间变量。 set date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2% %Date:~0,4%表示年,以此类推 显示的格式为:20120515105610 DOS日期格式设置 %date% 和 %time% 2008-10-21 21:34:11.56 C:\>echo %date% 2008-10-21 星期二 C:\>echo %date:~0,4% 2008 盘符:\>输出 %date%是一个参数 但是他后面带的这些就是取值范围,说说后面的数值第一个0代表从头开始 后面的4代表共取4个字符 C:\>echo %date:~-3% 星期三 这里面的负数代表倒数,也就取最后3个字符 C:\>echo %date:~-3,-1% 星期 这里的-1是不输出最后1个字符-2当然是2个类推 time也类似 echo %time% 21:34:11.56 DOS命令 Date和Time 一、DATA日期设置命令 功能:设置或显示系统日期。 类型:内部命令 格式:Date[mm-dd-yy] 使用说明: (1)省略[mm-dd-yy]显示系统日期并提示输入新的日期,不修改则可直接按回车键,[mm-dd-yy]为“月月-日日-年年”格式; (2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。 实例: 查看当前系统的日期,直接输入date即可。 二、TIME系统时钟设置命令 功能:设置或显示系统时期。 类型:内部命令 格式:TIME[hh:mm:ss:xx] 使用说明: (1)省略[hh:mm:ss:xx],显示系统时间并提示输入新的时间,不修改则可直接按回车键,[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式; (2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。 |
请发表评论