标题: 怎样把txt中的数值读出来并赋值给变量?
[打印本页]
作者: wjgyz740526
时间: 2007-3-22 00:47
标题: 怎样把txt中的数值读出来并赋值给变量?
cmd里怎样才能把一个txt文件中的数字读出来并赋值给变量?
求教,谢谢
作者: Climbing
时间: 2007-3-22 02:10
这要取决于你的TXT文件的格式。
作者: wjgyz740526
时间: 2007-3-22 02:11
怎么讲?
这个txt文件中只有一行数字
作者: lianjiang2004
时间: 2007-3-22 03:57
举例。
需具体问题具体分析。
作者: wjgyz740526
时间: 2007-3-22 04:08
我是想让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
请教达人,多谢
作者: wjgyz740526
时间: 2007-3-22 05:53
顶一下,期待中......
作者: wjgyz740526
时间: 2007-3-22 23:44
或者有别的办法能实现这个目的也行啊
作者: vkill
时间: 2007-3-23 00:47
>txt
set/p
or
for ... do (set ...)
作者: tianlijian
时间: 2007-3-23 01:37
for /f "usebackq tokens=*" %i in ("%windir%\tem.txt") do ..
可以用这个方式把txt上的数读出来。
作者: lxmxn
时间: 2007-3-23 01:49
@echo off
set/p St=<tmp.txt
echo %St%
pause&exit/b
作者: wjgyz740526
时间: 2007-3-24 00:52
多谢,但是能讲讲什么意思吗?
set/p St=<tmp.txt 这一句
作者: lxmxn
时间: 2007-3-24 01:05
把tmp.txt文件的第一行赋值给St变量。
作者: wjgyz740526
时间: 2007-3-24 01:34
谢谢楼上的兄弟!!!但是我翻遍set的帮助文档也找不到这个用法啊
作者: wjgyz740526
时间: 2007-3-24 01:36
我现在的代码,希望给有需要的兄弟一些帮助:
@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
作者: lxmxn
时间: 2007-3-24 03:11
Quote: |
Originally posted by wjgyz740526 at 2007-3-23 12:34:
谢谢楼上的兄弟!!!但是我翻遍set的帮助文档也找不到这个用法啊 |
|
很多用法都是人摸索出来的,帮助里面可能没有。
作者: wjgyz740526
时间: 2007-3-25 20:51
Quote: |
Originally posted by lxmxn at 2007-3-24 01:05 AM:
把tmp.txt文件的第一行赋值给St变量。 |
|
如果我要把指定行赋值给变量呢?该怎么做?
作者: lxmxn
时间: 2007-3-25 21:16
To wjgyz740526:
具体一点呢?
是根据行号来指定还是内容呢?
作者: wjgyz740526
时间: 2007-3-26 02:33
指定行号的该怎么做?
如果是内容的可以用find,但是用find找到后的内容我们是不是要区分数值还是文本?还是根本不用区分直接就可以赋值?
作者: balinger
时间: 2007-3-26 03:09
@echo off
set BL=
set /p hh=请输入行号:
for /f "skip=2 tokens=1,* delims=[]" %%i in ('find /n /v "" tmp.txt') do (if %%i==%hh% set BL=%%j)
echo BL=%BL%
pause
[
Last edited by balinger on 2007-3-26 at 03:11 AM ]
作者: wjgyz740526
时间: 2007-3-27 02:17
谢谢,学习了