dos time%time%问题

dos 日期时间格式设置使用小结(Date和Time)
字体:[ ] 类型:转载 时间:
其实dos下日期格式获取,就是通过指针偏移量,逗号后的数字表示提取的字符长度
代码如下: @echo off @title 字符串的编辑测试(下面描述用的箭头→ ← 分别表示向右、向左的意思) set aa= 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%表示年,以此类推 显示的格式为:10 DOS日期格式设置 %date% 和 %time%
21:34:11.56 C:\&echo %date%
星期二 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)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具dos批处理延时技术
dos批处理延时技术
举个例子,我们要延时5秒打开gdh.txt这个文件,可以用以下几个方法
方法一:ping&
缺点:时间精度为1秒,不够精确 &
@echo off&
@ping 127.0.0.1 -n 6 &nul
start gdh.txt
方法二:vbs start /wait
缺点:生成临时文件&
有点:时间精度为0.001秒,精度高
echo wscript.sleep 5000&sleep.vbs
start /wait sleep.vbs
start gdh.txt&
del /f /s /q sleep.vbs
方法三:vbs cscript.&
@echo off&
echo wscript.sleep 5000&sleep.vbs
@cscript sleep.vbs &nul
start gdh.txt&
del /f /s /q sleep.vbs
方法四:choice&
优点:时间精确,CPU占用低,是最佳选择&
@echo off&
choice /t 5 /d y /n &nul
start gdh.txt
批处理延时方法小结:
& & echo %time%
& & ping 127.1 -n 2 1&nul&
& & echo %time%
内存使用: cmd.exe 1704k
& & & & & & & ping.exe 2920k & &
误差评定: 较高
优点: & & & 代码构造简单
缺点: & & & 内存占用高,延迟时间长的话误差相对较大。
2.还是ping&
& & echo %time%
& & ping 1 -n 1 -w 1000 2&nul 1&nul
& & echo %time%
内存使用: cmd.exe 1700k
& & & & & & & &ping.exe 2912k
误差评定: 一般
优点: & & & &代码构造简单,时间越长误差越小,精确度较高(50ms)
缺点: & & & &内存占用高
& & echo %time%
& & call :delay 1000
& & echo %time%
& & set /a num=num + 1
& & if %num% geq %1 (set num=) && goto :eof
rem & &for /l %%i in (1,1,%1) do echo. &nul
内存使用: cmd.exe 1744k [for语句方案]
& & & & & & & &cmd.exe 1740k [set+goto方案]
误差评定: 很高 (受CPU频率影响非常大,几乎无法准确把握全局延迟时间)
优点: & & & 精确度较高
缺点: & & & &不适合需精确把握时间的场合
& & echo %time%
& & msg %username% /time:20 /w &正在延时,点确定可以取消延时!&
& & echo %time%
goto loop内存使用: cmd.exe 1752k
& & & & & & & &msg.exe 2620k
误差评定: 低
优点: & & & 比较稳定,可中途取消延时,代码构造简单
缺点: & & & &内存占用非常大,有窗口弹出(优点?缺点?)
& & echo Wscript.Sleep WScript.Arguments(0) &%tmp%\delay.vbs
& & echo %time%
& & cscript //b //nologo %tmp%\delay.vbs 2000
& & echo %time%
内存使用: cscript.exe 4812k
& & & & & & & &cmd.exe & &1708k
误差评定: 很低
优点: & & & &精确度最高,使用更灵活,方便
缺点: & & & &产生临时文件,内存占用多
一个取代choice命令的批处理 (精典)
@echo off && setlocal && cls
chcp 437 &nul
graftabl 936 &nul
set /p=请选择 [ 回车键 --- 执行A & & & & & & 其它键 --- 执行B ]:&nul
echo exit|cmd/kprompt $_e 100 CD 16 B4 4C CD 21$_g$_|debug&nul
echo.&echo.&echo.
if [%errorlevel%]==[13] ( goto :A ) else ( goto :B )
::按回车符到这里执行
echo 这里是标签: A
::按其它键到这里执行
echo 这里是标签: B
:: & & 用于测试键值的代码段
:: & & 如果希望代替Choice外部命令,则这个代码段可以测试出不同的键值交由%ErrorLevel%判断
echo 所输入的ASCII码键值: %errorlevel%
echo.&echo.&echo.&echo.&echo.&Pause
echo 计算机将于 17:40 关机
echo 现在时间是 %time%&
echo %time% &time.txt&
find /i &17:48& time.txt &nul
if %errorlevel%==1 goto go&
taskkill /f /im cmd.exe&
实时显示当前时间
@echo off&
echo %time:~0,-3%&
ping -n 2 127.1&nul&cls&%0
::第二行代码说明:&:&和&~&必不可少!&~&后的数字:为正数表示舍弃输出结果的前几位;直接跟负数表示取到输出结果的后第几位。逗号后的数字:为正数表示取到输出结果的前第几位;为负数表示舍弃输出结果的后几位。echo %date:~4% echo %time:~-3% echo %date:~4% %time:~0,-3%
现在我有一条路径:c:\\system32\&
我想删除最后一个字符&\&变为c:\windows\system32&
set &str=c:\windows\system32\&&
echo %str:~0,-1%
@echo off&color 0a&title 做语文老师真不容易&
set /p= &nul
set /p= (alt+数字键盘22为退格键,可在记事本中键入)&nul
for /d %%a in (做 个 语 文 老 师 真 不 容 易 . 以 下 是 学 生 的 造 句 ) do set /p=%%a&nul&ping -n 1 127.1&nul
逐字显示:我是一个中国人
for %%a in (我 是 一 个 中 国 人) do ping -n 2 127.0|set /p b=%%a
for /d %%a in (我 是 一 个 中 国 人) do set /p b=%%a&nul&ping -n 1 127.1&nul
::自注set后面的%%a如果添加空格,效果是:我 是 一 个,不加空格,效果是:我是一个
@echo off&setlocal enabledelayedexpansion
set &str=-.net&
for /l %%a in (0 1 50) do (
& & & if &!str:~%%a,1!& neq && (
& & & & & set/p=!str:~%%a,1!&nul
& & & & & for /l %%i in (1 1 400) do echo.&nul
& & & & &) else (
& & & & &pause&nul&exit/b
计划任务设定&
SCHTASKS /Create /SC DAILY /RU administrator /RP HZF /TN HU /SD
/ST 21:30:00 /TR c:\windows\system32\notepad.exe
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'求解:dos命令中time时间获取怎么在8点的时候得到08呢_dos吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:12,219贴子:
set dt=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%00本人菜鸟一个 我写的一个变量,本来是要在各个时间段获取一个变量,如11点多的时候得到变量我希望在9点的时候希望各位大侠能帮忙谢谢啦
@echo offset hh=%time:~0,2%if "%hh%" lss "10" (&&&& set hh=0%hh:~1,1%)echo,%hh%pause
set dt=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%00set dt=%dt: =0%
谢谢各位。赞4楼!
非常谢谢各位,谢谢
4楼的方法可行!谢谢
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或DOS命令及MaxDOS系列常见问题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
DOS命令及MaxDOS系列常见问题
上传于||文档简介
&&D​O​S​命​令​及​M​a​x​D​O​S​系​列​常​见​问​题
大小:33.80KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢关于来源于W32Time错误事件,ID分别是17和29
[问题点数:100分,结帖人xdml2_1]
关于来源于W32Time错误事件,ID分别是17和29
[问题点数:100分,结帖人xdml2_1]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年9月 Windows专区大版内专家分月排行榜第一
2013年1月 Windows专区大版内专家分月排行榜第二2012年4月 Windows专区大版内专家分月排行榜第二
2013年9月 Windows专区大版内专家分月排行榜第一
2013年1月 Windows专区大版内专家分月排行榜第二2012年4月 Windows专区大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 人口问题 的文章

 

随机推荐