Board logo

标题: [已结]如何把一个命令的输出设置为环境变量的内容 [打印本页]

作者: asbai     时间: 2006-8-3 11:45    标题: [已结]如何把一个命令的输出设置为环境变量的内容

例如把 pwd 的输出设置成环境变量 CurrentDir 的值。有没有不生成临时文件的方法?

[ Last edited by HAT on 2008-11-18 at 17:44 ]
作者: namejm     时间: 2006-8-3 12:56
  网上搜索了一下,发现pwd是linux系统中的打印当前目录命令,使用这个命令的都应该是非windows操作系统的吧?怎么和windows下的批处理扯上关系了呢?

  没用过linux的系统,不太懂在linux下能不能用bat批处理。哪位能解释一下不?

[ Last edited by namejm on 2006-8-3 at 13:18 ]
作者: FelixYang     时间: 2006-8-3 14:25
for /F "tokens=1*" %i in ( 'pwd' ) do set curdir = %i
作者: asbai     时间: 2006-8-18 04:36


  Quote:
Originally posted by namejm at 2006-8-3 12:56:
  网上搜索了一下,发现pwd是linux系统中的打印当前目录命令,使用这个命令的都应该是非windows操作系统的吧?怎么和windows下的批处理扯上关系了呠...

呵呵,兄台在自家Win32命令行下敲个 pwd 不就明白了,何须google? :P 楼上兄台的方法貌似不错,多谢点拨!
作者: namejm     时间: 2006-8-18 07:37
  请问的的系统版本?

  我的是WinXP+SP2,输入pwd命令之后,提示说既不是内、外命令,也不是可执行程序或者批处理。
作者: electronixtar     时间: 2006-8-18 14:14
在cmd下的 cd 命令 = Linux的shell下的 pwd 命令


for /F "tokens=1*" %i in ( 'cd' ) do set curdir %i

[ Last edited by electronixtar on 2006-8-18 at 14:18 ]
作者: asbai     时间: 2006-8-21 16:39


  Quote:
Originally posted by namejm at 2006-8-18 07:37:
  请问的的系统版本?

  我的是WinXP+SP2,输入pwd命令之后,提示说既不是内、外命令,也不是可执行程序或者批处理。

向 namejm 兄道歉,是我搞错了,俺的 Win32 上装了 posix shell 环境,所以经常不自觉的在用 unix 命令,还以为 Win32 也自带了,呵呵。

不过偶一楼的本意是说将任意命令的标准输出赋值给一个环境变量。pwd 在这里只是据个例子 ,如果仅仅要完成 pwd 到变量的效果,for %%I in (.) do set PWD=%%~fnI 就足以了。
作者: dejoy     时间: 2008-11-18 17:36
同求,我是win98环境,应该怎么写?