![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 11:00 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]win98把重定向内容输出至变量(当前路径至变量)? |
| 可打印版本 4,528 / 13 |
| 第1楼 dejoy | 发表于 2008-11-09 21:57 |
| 初级用户 发帖 64 积分 76 | |
|
[已结]win98把重定向内容输出至变量(当前路径至变量)? 这样的代码:
set oo=c:\lo.txt cd > %oo% 是把重定向输出到了变量所指的外部文件,而不是变量本身,如何写才能输出到变量本身,以上例为例,如何使输出到%oo%变量中,即最后的结果是%oo%存放的是当前路径,内容和%cd%变量一样. 也许有人问为什么不直接用%cd%变量呢,因为需要跨平台win98/win2000,而%cd%变量是winnt平台专有,win98是没有的,在win98下是空.而cd命令则两个平台都有,用cd命令则可确保万无一失,双栖 [ Last edited by dejoy on 2008-11-15 at 10:44 ] |
|
| 第2楼 HAT | 发表于 2008-11-09 22:05 |
| 版主 发帖 5,017 积分 9,023 | |
|
重定向不能直接用来给变量赋值
|
|
| 第3楼 dejoy | 发表于 2008-11-09 22:12 |
| 初级用户 发帖 64 积分 76 | |
|
那请教版本 ,应该如何把CD输出内容至一个变量中, 不使用系统自带的%cd%变量?
|
|
| 第4楼 balinger | 发表于 2008-11-09 22:29 |
| 中级用户 发帖 115 积分 356 | |
|
for /f "delims=" %%i in ('cd') do (set "oo=%%i")
不知98下行不行。 |
|
| 第5楼 dejoy | 发表于 2008-11-09 22:46 |
| 初级用户 发帖 64 积分 76 | |
|
for /f "delims=" %%i in ('cd') do (set "oo=%%i")
>>你的方法在xp下行,不过在xp下可以直接用%cd%就行了 呵呵 我看过, win98下支持for命令,不过没有delims参数,据我所知,在win98下肯定支持的是cd命令,并且CD输出的就是当前路径,只是不知如何把它放到变量中. 以下是我的代码,根据执行的不同的操作系统执行不同的代码,经测试可以区分执行,只是不知在win98下的代码应怎么写: rem {%OS%是一个winnt中有而win98中没有的内置变量 if NOT {%OS%} == {} goto winnt :win98 rem 怎么写? rem set savedcd = ?? goto ENDOSDECTED :winnt set savedcd = %cd% :ENDOSDECTED [ Last edited by dejoy on 2008-11-9 at 22:57 ] |
|
| 第6楼 HAT | 发表于 2008-11-10 10:46 |
| 版主 发帖 5,017 积分 9,023 | |
|
手上没有Win98环境,无法测试。
|
|
| 第7楼 BC | 发表于 2008-11-10 13:18 |
| 中级用户 发帖 175 积分 338 | |
|
re:hat
应该不能,98下set没有/p 在 SET 命令中添加了两个新命令行开关: SET /A expression SET /P variable=[promptString] |
|
| 第8楼 dejoy | 发表于 2008-11-10 16:44 |
| 初级用户 发帖 64 积分 76 | |
|
re hat,win98下是不能 ,win98下 set 没有任何可用参数
|
|
| 第9楼 dejoy | 发表于 2008-11-12 00:03 |
| 初级用户 发帖 64 积分 76 | |
|
继续呼叫
|
|
| 第10楼 HAT | 发表于 2008-11-12 09:59 |
| 版主 发帖 5,017 积分 9,023 | |
| 第11楼 terrytong | 发表于 2008-11-12 11:18 |
| 中级用户 发帖 115 积分 240 | |
|
strings variable=read sourcefile, n :n 代表第N行
[ Last edited by terrytong on 2008-11-12 at 11:27 ] |
|
| 第12楼 dejoy | 发表于 2008-11-14 00:45 |
| 初级用户 发帖 64 积分 76 | |
|
这个strings好强大,看来非要使用第三方工具
[ Last edited by dejoy on 2008-11-14 at 00:52 ] |
|
| 第13楼 dejoy | 发表于 2008-11-14 00:56 |
| 初级用户 发帖 64 积分 76 | |
|
发现一个win9x的工具nset,就是实现此帖功能的,在win9x下把stdin或文件的内容输入到变量
Using STDIN, examples: by PIPE: CD | NSET SDIR=$1 (SDIR=current directory) from a file: NSET X=$3 < some.txt (X=3rd word from some.txt) keyboard: NSET IN=$0 (IN=input up to CR) 里面好东东不少,又发现几个 VARGET.COM 把INI文件的内容读到变量 VARSET.TXT 把文件信息,如文件名,大小,目录内容等读到变量 XCP 增强的copy Xset 增强的set等 [ Last edited by dejoy on 2008-11-14 at 01:50 ] |
|
| 第14楼 dejoy | 发表于 2008-11-15 10:46 |
| 初级用户 发帖 64 积分 76 | |
|
发现一个前人所写的专门就是win98下实现此功能的bat,无需借助第三方工具
98下获取当前路径.bat 但无法运行,一运行出退出了,请教大大 [ Last edited by dejoy on 2008-11-18 at 17:57 ] 附件 98下获取当前路径.rar (1.62 KiB) |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |