Board logo

标题: 怎样载入外部文本数据并赋值到变量呢? [打印本页]

作者: nvflash     时间: 2006-9-26 22:54    标题: 怎样载入外部文本数据并赋值到变量呢?

比如:C盘有一个x.txt,数据是1,我想将1这个数值赋值到变量A,怎么搞? 难道是set /a A=type c:\x.txt 吗? 好像这样行不通也

作者: electronixtar     时间: 2006-9-26 23:03
楼主的代码比较创新,赞~

作者: arding     时间: 2006-9-26 23:30
set /p A=<c:\x.txt

作者: redtek     时间: 2006-9-26 23:44
顶~~

作者: NaturalJ0     时间: 2006-9-26 23:45
学了一招。

作者: vkill     时间: 2006-9-27 08:24
Originally posted by arding at 2006-9-26 23:30: set /p A=<c:\x.txt
学了

作者: hj_18     时间: 2006-9-27 20:04
学了

作者: arding     时间: 2006-9-28 04:02
set /p A=<c:\x.txt 与 type c:\x.txt | set /p A= 的效果一样,都是将文件x.txt的第一行给 A 10月5日编辑: type c:\x.txt | set /p A= 似乎不对,当时的试验有问题,感谢楼下11楼的质疑. [ Last edited by arding on 2006-10-8 at 20:40 ]

作者: smileseeker     时间: 2006-9-28 04:41
D:\scripts>set a=123456 D:\scripts>set a a=123456 ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\new\Application Data D:\scripts>type 1.txt 第1行 第2行 第3行 D:\scripts>type 1.txt |set /p a= D:\scripts>set a a=123456 ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\new\Application Data D:\scripts>set /p a=<1.txt D:\scripts>set a a=第1行 ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\new\Application Data D:\scripts>type 1.txt |set /p a= 这段怎么不行? D:\scripts>set a a=123456 ALLUSERSPROFILE=C:\Documents and Settings\All Users APPDATA=C:\Documents and Settings\new\Application Data

作者: namejm     时间: 2006-9-28 04:47
  不明白你想干什么。

作者: 9527     时间: 2006-9-28 05:02
set /p A=<c:\x.txt 与 type c:\x.txt | set /p A= 的效果一样,都是将文件x.txt的第一行给 A 怀疑中 ing........

作者: nvflash     时间: 2006-9-29 03:27
set /p 说通俗点,到底是干什么的? set /a我知道是赋值为数据类型

作者: namejm     时间: 2006-9-29 04:01
  CMD命令行帮助信息是这样的:
/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入
行之前,显示指定的 promptString。promptString 可以是空的。
  说得通俗一点,set /p 语句就是暂停程序的执行,在屏幕上显示 set /p input= 这个语句中=号后面的信息,并等候用户的输入,把用户的输入用变量 input 来接收。当然,这个输入不仅仅来自键盘,还可以来自一个文本内容的文件。

作者: redtek     时间: 2006-9-29 05:21
SET /P namejm=热心的帮助大师:)))

作者: namejm     时间: 2006-9-29 05:55
  呵呵,楼上的过奖了。   以前受惠于willsort等一批热心高手,收获颇多。现在回想起那时候的举步维艰,深深感到老手对于新手的耐心帮扶是多么的重要。可惜现在willsort等高手因为各种原因而逐渐淡出,论坛里少了一些博学之人。怀念以前高手们济济一堂的那段时光,热切希望他们能早日从众多的事务中解脱出来,经常回来看看。

作者: nvflash     时间: 2006-9-29 07:12
不过现在的觉得论坛气氛也非常之好啊,真心感谢各位

作者: jslfz     时间: 2006-9-30 02:58
请问在dos7(win98)的环境下,这段代码 set /p A=<c:\x.txt 还能正确执行吗?

作者: zh159     时间: 2006-9-30 04:36
那就得set /?看看有没有/p参数了

作者: NaturalJ0     时间: 2006-9-30 05:26
98 没这个参数的吧

作者: lxmxn     时间: 2006-9-30 06:38
呵呵,飞扬兄所言极是。。 不愧当上版主!我支持你!

作者: jslfz     时间: 2006-9-30 09:12
已经在98的dos下试过了,不支持,郁闷啊 那么请问在98的dos下如何将外部文本文件的内容赋值给变量呢?

作者: my3439955     时间: 2006-10-2 00:16
楼上的真让人感动 有你在我们也放心呢 对了 set /p ans=<input.txt 的格式对输入的长度有限制 长度至多是1023 我推测这于Windows系统特性有关 在记事本中一行文字最多是1024个(按英文字母) 从文件中导入时也就至多是这个数目 如果是汉字的话就更少了 对于这种特别长的来自文件输入 请用For /F分析文件