Board logo

标题: [其他] 【已结】如何把一个命令的结果存到一个变量中 [打印本页]

作者: snkever    时间: 2009-1-12 09:00     标题: 【已结】如何把一个命令的结果存到一个变量中

我要讲date /t的结果存到一个变量中使用,如何实现呢?
我试过set dd=(date /t),不行。

期待高手来解决!
作者: hidden    时间: 2009-1-12 09:16

这样吧,但我还不会加参数的
set dd=%date%
作者: Batcher    时间: 2009-1-12 09:17

试过for没有?可以先到教学区学习一下for的基本用法。
作者: snkever    时间: 2009-1-12 14:10     标题: 回复 2楼 的帖子

在2K中%date%变量只显示星期,没有日期,所以就想把日期保存到一个变量中使用。
作者: snkever    时间: 2009-1-12 14:21     标题: 回复 3楼 的帖子

试用过了 没成功,不行!
作者: zjw767676    时间: 2009-1-12 14:22

这个行不?
set dd=%date%
for %%i in (%dd%) do -------------
或者这样
for %%i in (%date%) do------------

[ 本帖最后由 zjw767676 于 2009-1-12 15:14 编辑 ]
作者: Batcher    时间: 2009-1-12 14:34     标题: 回复 5楼 的帖子

你告诉大家你是咋样试的,大家会告诉你哪里写错了。
作者: snkever    时间: 2009-1-12 15:22     标题: 回复 7楼 的帖子

for %%i in (date /t) do set %%i

说明下
我一台win2k服务器上%date%得到的结果是星期(星期一),没有日期,不知道什么原因,所以就想把date /t(是一条得到日期的命令),存到变量中处理,但我做不到,望大家解决下

[ 本帖最后由 snkever 于 2009-1-12 15:23 编辑 ]
作者: Batcher    时间: 2009-1-12 16:01     标题: 回复 8楼 的帖子

  1. @echo off
  2. for /f "delims=" %%i in ('date /t') do (
  3.   set snkever=%%i
  4. )
  5. echo %snkever%
  6. pause
复制代码

作者: defanive    时间: 2009-1-12 18:14

9L正解!
当然"delims="也可以改成"tokens=*"。。。
不成功的原因,for的分割符默认是空格,for就把结果分成了两段,一段日期,一段星期,但只读了日期这一段。。。
其实snkever的代码赋值的时候再加上%%j也可以达到效果。。。
但是最通用的方法还是Batcher的。。。
作者: snkever    时间: 2009-1-12 21:27

谢谢Batcher的解答和defanive的错误分析!THX




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2