中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 17:15
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何电脑日期改为date.txt里的日期
可打印版本  889 / 7
第1楼 dslz666 发表于 2008-03-08 11:41
中级用户 发帖 117 积分 233
如何电脑日期改为date.txt里的日期
我有一个软件只能在2008年02月28日运行,
我先把当天的日期保存在d盘date.txt的文件里,然后电脑日期修改到2008-02-28
接着再运行那个软件
在电脑重启后。如何再把日期改为正确的日期

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

但在电脑重启后,如何把电脑日期改为date.txt里的日期,请大侠们帮帮忙
第2楼 422904z 发表于 2008-03-08 11:53
初级用户 发帖 37 积分 74
@echo off
date > d:\date.txt
date 2008-02-28
运行软件。。。
rem 日期改回来
date < d:\date.txt
exit
第3楼 dslz666 发表于 2008-03-08 12:42
中级用户 发帖 117 积分 233
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 星期六
系统无法接受输入的日期。
输入新日期: (年月日) 输入新日期: (年月日)
系统无法接受输入的日期。
输入新日期: (年月日)
第4楼 suntb 发表于 2008-03-08 13:20
高级用户 发帖 277 积分 581
@echo off
date/t > d:\date.txt
date 2008-02-28
运行软件。。。
rem 日期改回来
date < d:\date.txt
exit
第5楼 lovelymorning 发表于 2008-03-08 14:09
初级用户 发帖 72 积分 131
@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
第6楼 lovelymorning 发表于 2008-03-08 14:16
初级用户 发帖 72 积分 131
也可以使用下面这种方法
@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文本第一行中的第二个字符,取到就跳出循环
第7楼 dslz666 发表于 2008-03-08 18:45
中级用户 发帖 117 积分 233
谢谢 lovelymorning 问题已解决
第8楼 HAT 发表于 2008-03-09 21:29
版主 发帖 5,017 积分 9,023
建议楼主感谢一下4楼,呵呵。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023