Board logo

标题: 如何电脑日期改为date.txt里的日期 [打印本页]

作者: dslz666     时间: 2008-3-8 11:41    标题: 如何电脑日期改为date.txt里的日期

我有一个软件只能在2008年02月28日运行,
我先把当天的日期保存在d盘date.txt的文件里,然后电脑日期修改到2008-02-28
接着再运行那个软件
在电脑重启后。如何再把日期改为正确的日期

在使用软件前的批处理我会写。
@echo off
date > d:\date.txt
date 2008-02-28
exit

但在电脑重启后,如何把电脑日期改为date.txt里的日期,请大侠们帮帮忙
作者: 422904z     时间: 2008-3-8 11:53
@echo off
date > d:\date.txt
date 2008-02-28
运行软件。。。
rem 日期改回来
date < d:\date.txt
exit
作者: dslz666     时间: 2008-3-8 12:42


  Quote:
Originally posted by 422904z at 2008-3-8 11:53 AM:
@echo off
date > d:\date.txt
date 2008-02-28
运行软件。。。
rem 日期改回来
date < d:\date.txt
exit

date < d:\date.txt   这一句好像不行
date.txt内的内容是:
当前日期: 2008-03-08 星期六
输入新日期: (年月日)


在CMD里输入date < d:\date.txt 之后就出现

C:\>date < d:\date.txt
当前日期: 2008-02-28 星期四
输入新日期: (年月日) 当前日期: 2008-03-08 星期六
系统无法接受输入的日期。
输入新日期: (年月日) 输入新日期: (年月日)
系统无法接受输入的日期。
输入新日期: (年月日)
作者: suntb     时间: 2008-3-8 13:20
@echo off
date/t > d:\date.txt
date 2008-02-28
运行软件。。。
rem 日期改回来
date < d:\date.txt
exit
作者: lovelymorning     时间: 2008-3-8 14:09
@echo off
set row=0
setlocal enabledelayedexpansion
for /f "tokens=2" %%i in (d:\date.txt) do (
set v=%%i
set /a row=!row!+1
if !row! equ 1 date !v!
)
pause
作者: lovelymorning     时间: 2008-3-8 14:16
也可以使用下面这种方法
@echo off
setlocal enabledelayedexpansion
for /f "tokens=2" %%i in (d:\date.txt) do (
set v=%%i
if defined v goto date
)
:date
date !v!
pause

两种方法都可以

原理很简单,用for来截取date文本第一行中的第二个字符,取到就跳出循环
作者: dslz666     时间: 2008-3-8 18:45
谢谢 lovelymorning  问题已解决
作者: HAT     时间: 2008-3-9 21:29
建议楼主感谢一下4楼,呵呵。