中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样把txt中的数值读出来并赋值给变量?
« [1] [2] »
作者:
标题: 怎样把txt中的数值读出来并赋值给变量? 上一主题 | 下一主题
wjgyz740526
中级用户




积分 203
发帖 44
注册 2003-8-14
状态 离线
『楼 主』:  怎样把txt中的数值读出来并赋值给变量?

cmd里怎样才能把一个txt文件中的数字读出来并赋值给变量?

求教,谢谢

2007-3-22 00:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 2 楼』:  

这要取决于你的TXT文件的格式。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2007-3-22 02:10
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
wjgyz740526
中级用户




积分 203
发帖 44
注册 2003-8-14
状态 离线
『第 3 楼』:  

怎么讲?

这个txt文件中只有一行数字

2007-3-22 02:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 4 楼』:  

举例。
需具体问题具体分析。



Windows 一键还原
http://www.yjhy.com
2007-3-22 03:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjgyz740526
中级用户




积分 203
发帖 44
注册 2003-8-14
状态 离线
『第 5 楼』:  

我是想让cmd判断日期并在指定日期之后执行特定命令。

我的cmd在第一次运行时会判断是否存在tmp.txt,没有的话就把当前日期生成一个数字(比如20070320)保存在这个tmp.txt文件中,然后每一次运行cmd时判断是否过了一定日期(比如15天),大于15天就提示”XXXXX!“,我的代码如下

@Echo Off
set tm1=%date:~0,4%
set tm2=%date:~5,2%
set tm3=%date:~8,2%
set /a number=%tm1%*365+%tm2%*30+%tm3%
if not exist %windir%:\tmp.txt echo %number%>%windir%:\tmp.txt & goto end
goto begin

:begin
if .....这里涉及到怎样把txt中的数值读出来并且同当前日期转换后的number相比较,不会了

:end

请教达人,多谢

2007-3-22 04:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wjgyz740526
中级用户




积分 203
发帖 44
注册 2003-8-14
状态 离线
『第 6 楼』:  

顶一下,期待中......

2007-3-22 05:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wjgyz740526
中级用户




积分 203
发帖 44
注册 2003-8-14
状态 离线
『第 7 楼』:  

或者有别的办法能实现这个目的也行啊

2007-3-22 23:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 8 楼』:  

>txt
set/p


or


for ... do (set ...)

2007-3-23 00:47
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
tianlijian
初级用户





积分 120
发帖 45
注册 2007-3-13
状态 离线
『第 9 楼』:  


for /f "usebackq tokens=*" %i in ("%windir%\tem.txt") do ..
可以用这个方式把txt上的数读出来。



test
2007-3-23 01:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 10 楼』:  


@echo off
set/p St=<tmp.txt
echo %St%
pause&exit/b


   此帖被 +6 点积分          点击查看详情   
评分人:【 tianlijian 分数: +2  时间:2007-3-23 02:01
评分人:【 hy433124shc 分数: +2  时间:2007-3-27 03:41
评分人:【 oilio 分数: +2  时间:2007-3-29 03:10


2007-3-23 01:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wjgyz740526
中级用户




积分 203
发帖 44
注册 2003-8-14
状态 离线
『第 11 楼』:  

多谢,但是能讲讲什么意思吗?

set/p St=<tmp.txt     这一句

2007-3-24 00:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 12 楼』:  


把tmp.txt文件的第一行赋值给St变量。


2007-3-24 01:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wjgyz740526
中级用户




积分 203
发帖 44
注册 2003-8-14
状态 离线
『第 13 楼』:  

谢谢楼上的兄弟!!!但是我翻遍set的帮助文档也找不到这个用法啊

2007-3-24 01:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wjgyz740526
中级用户




积分 203
发帖 44
注册 2003-8-14
状态 离线
『第 14 楼』:  

我现在的代码,希望给有需要的兄弟一些帮助:

@Echo Off
set tm1=%date:~0,4%
set tm2=%date:~5,2%
set tm3=%date:~8,2%
set /a number=%tm1%*365+%tm2%*30+%tm3%
if not exist c:\tmp.txt echo %number%>c:\tmp.txt & exit
goto begin

:begin
set /p St=<c:\tmp.txt
set /a number2=%number%-%St%
if %number2% gtr 15 echo 你的使用期限已过15天& pause & exit
echo 您还在使用期,请继续使用
pause & exit

2007-3-24 01:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by wjgyz740526 at 2007-3-23 12:34:
谢谢楼上的兄弟!!!但是我翻遍set的帮助文档也找不到这个用法啊


很多用法都是人摸索出来的,帮助里面可能没有。


2007-3-24 03:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: