中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-10 12:04
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何把一个命令的输出设置为环境变量的内容 查看 1,551 回复 7
楼 主 [已结]如何把一个命令的输出设置为环境变量的内容 发表于 2006-08-03 11:45 ·  中国 上海 静安区 电信
高级用户
★★
积分 653
发帖 252
注册 2006-04-16 19:48
20年会员
UID 53939
状态 离线
例如把 pwd 的输出设置成环境变量 CurrentDir 的值。有没有不生成临时文件的方法?

[ Last edited by HAT on 2008-11-18 at 17:44 ]
2 发表于 2006-08-03 12:56 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  网上搜索了一下,发现pwd是linux系统中的打印当前目录命令,使用这个命令的都应该是非windows操作系统的吧?怎么和windows下的批处理扯上关系了呢?

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

[ Last edited by namejm on 2006-8-3 at 13:18 ]
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2006-08-03 14:25
新手上路
积分 8
发帖 3
注册 2006-07-28 09:43
20年会员
UID 59412
性别 男
状态 离线
for /F "tokens=1*" %i in ( 'pwd' ) do set curdir = %i
4 发表于 2006-08-18 04:36 ·  中国 上海 杨浦区 电信
高级用户
★★
积分 653
发帖 252
注册 2006-04-16 19:48
20年会员
UID 53939
状态 离线
Originally posted by namejm at 2006-8-3 12:56:
  网上搜索了一下,发现pwd是linux系统中的打印当前目录命令,使用这个命令的都应该是非windows操作系统的吧?怎么和windows下的批处理扯上关系了呠...


呵呵,兄台在自家Win32命令行下敲个 pwd 不就明白了,何须google? :P 楼上兄台的方法貌似不错,多谢点拨!
5 发表于 2006-08-18 07:37 ·  中国 四川 成都 鹏博士宽带
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  请问的的系统版本?

  我的是WinXP+SP2,输入pwd命令之后,提示说既不是内、外命令,也不是可执行程序或者批处理。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
6 发表于 2006-08-18 14:14 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
在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 ]

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
7 发表于 2006-08-21 16:39 ·  中国 上海 杨浦区 电信
高级用户
★★
积分 653
发帖 252
注册 2006-04-16 19:48
20年会员
UID 53939
状态 离线
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 就足以了。
8 发表于 2008-11-18 17:36 ·  中国 上海 华为云
初级用户
★★
积分 76
发帖 64
注册 2008-04-24 23:56
18年会员
UID 116884
性别 男
状态 离线
同求,我是win98环境,应该怎么写?
论坛跳转: