批处理获取昨天的系统时间(当前日期前一天)
2013-12-14 13:40
316 查看
说明:此方法不是单纯的DOS命令,需要配合vb脚本完成。方法如下:
@echo off
cd /d %~dp0
echo %cd%
echo wscript.echo dateadd("d",-1,date) >tmp.vbs
for /f "tokens=1,2,3 delims=/" %%i in ('cscript /nologo tmp.vbs') do (
set /a y=%%i
set /a m=%%j
set /a d=%%k
)
ECHO %y%
echo %m%
echo %d%
if %m% LEQ 9 set m=0%m%
if %d% LEQ 9 set d=0%d%
set tt=%y%%m%%d%
echo %tt%
del /s /q tmp.vbs
pause
@echo on
批处理命令说明如下:
@echo off
rem 以下进入和显示批处理脚本所在的目录
cd /d %~dp0
echo %cd%
rem 以下将vb的命令输出到一个当前目录的vb脚本,这个vb的命令就是可以直接取出前一天的日期
rem 日期显示的格式会根据系统格式显示也不同
rem 输入的这个脚本可以直接双击运行得出前一天的日期,如果需要请先注释掉删除这个vb脚本的语句
echo wscript.echo dateadd("d",-1,date) >tmp.vbs
rem 使用for命令加tokens参数,在前面vb脚本得出的结果,以‘/’为分隔标志取出前三项
rem 然后把取得三个结果分别赋予不同的变量,从‘i’开始,依此为‘i’‘j’‘k’。(可以去更多项,依此赋予‘l’‘m’…………)
for /f "tokens=1,2,3 delims=/" %%i in ('cscript /nologo tmp.vbs') do (
rem 重新为取出三个结果定义变量,这里根据年、月、日的缩写定义
set /a y=%%i
set /a m=%%j
set /a d=%%k
)
rem 显示出重新定义的结果
echo %y%
echo %m%
echo %d%
rem 如果取出的三项结果里有小于9的,用0填充。
if %m% LEQ 9 set m=0%m%
if %d% LEQ 9 set d=0%d%
rem 设置变量,将判断填充过的结果组合成想要的日期格式。
set tt=%y%%m%%d%
echo %tt%
rem 删除自动生成的vb脚本
del /s /q tmp.vbs
pause
echo on
结束,,,恭喜你成功了 QQ 交流 群 221046788
@echo off
cd /d %~dp0
echo %cd%
echo wscript.echo dateadd("d",-1,date) >tmp.vbs
for /f "tokens=1,2,3 delims=/" %%i in ('cscript /nologo tmp.vbs') do (
set /a y=%%i
set /a m=%%j
set /a d=%%k
)
ECHO %y%
echo %m%
echo %d%
if %m% LEQ 9 set m=0%m%
if %d% LEQ 9 set d=0%d%
set tt=%y%%m%%d%
echo %tt%
del /s /q tmp.vbs
pause
@echo on
批处理命令说明如下:
@echo off
rem 以下进入和显示批处理脚本所在的目录
cd /d %~dp0
echo %cd%
rem 以下将vb的命令输出到一个当前目录的vb脚本,这个vb的命令就是可以直接取出前一天的日期
rem 日期显示的格式会根据系统格式显示也不同
rem 输入的这个脚本可以直接双击运行得出前一天的日期,如果需要请先注释掉删除这个vb脚本的语句
echo wscript.echo dateadd("d",-1,date) >tmp.vbs
rem 使用for命令加tokens参数,在前面vb脚本得出的结果,以‘/’为分隔标志取出前三项
rem 然后把取得三个结果分别赋予不同的变量,从‘i’开始,依此为‘i’‘j’‘k’。(可以去更多项,依此赋予‘l’‘m’…………)
for /f "tokens=1,2,3 delims=/" %%i in ('cscript /nologo tmp.vbs') do (
rem 重新为取出三个结果定义变量,这里根据年、月、日的缩写定义
set /a y=%%i
set /a m=%%j
set /a d=%%k
)
rem 显示出重新定义的结果
echo %y%
echo %m%
echo %d%
rem 如果取出的三项结果里有小于9的,用0填充。
if %m% LEQ 9 set m=0%m%
if %d% LEQ 9 set d=0%d%
rem 设置变量,将判断填充过的结果组合成想要的日期格式。
set tt=%y%%m%%d%
echo %tt%
rem 删除自动生成的vb脚本
del /s /q tmp.vbs
pause
echo on
结束,,,恭喜你成功了 QQ 交流 群 221046788
相关文章推荐
- 如何重装TCP/IP协议
- 让Python文件也可以当bat文件运行
- Windows 8 官方高清壁纸欣赏与下载
- 谁是桌面王者?Win PK Linux三大镇山之宝
- Windows Clang开发环境备忘
- 从Windows系统下访问Linux分区相关软件
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- windows server域用户提升到本地更高权限组中的方法
- 使用命令修改注册表键值及权限
- 通过手机、电脑远程开关机,Windows和linux机手机,电脑相互控制
- Windows XP最新应用技巧大荟萃
- Windows 系统组策略应用全攻略(上)第1/2页
- Microsoft Windows Vista 简体中文企业版 MVL DVD IMG 32-bit(1.9GB)
- Windows Vista下去除QQ和MSN广告的方法
- Windows Vista 宽屏LCD提供的支持 与设置方法第1/2页
- 用批处理删除注册表健值的方法分享
- cmd批处理转义字符%的详细解释