中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-25 07:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助] 在MS-DOS模式下抓特定字符----哎等不到一個結果 查看 1,063 回复 4
楼 主 [求助] 在MS-DOS模式下抓特定字符----哎等不到一個結果 发表于 2010-12-11 09:08 ·  中国 江苏 苏州 联通
初级用户
积分 34
发帖 30
注册 2010-12-02 01:43
15年会员
UID 178698
性别 男
状态 离线
刚刚在 FOR循環與findstr怎么合并?? 中有提出怎么使用合并~

此问题有难倒Hanyeguxing前辈--因为前辈没有MS-DOS环境

但问题出来了,在WINXP下的DOS模式下可以使用,但是在MS-DOS下却使用不了,Hanyeguxing 前辈也有给出解决方案,但有些命令在MS-DOS下不如WINXP下的CMD强,正一愁莫展中~~~

问题如下:
怎么从文件2.ini中取出字符Project后面的字符?
MS-DOS下不支持:for /r ,findstr, more +2语句,于是这些都用不了? 还请高手再次帮忙解答一下,还可以使用什么命令呢?

文件2.ini
Hierarchy ID : Normal Board
Chip SKU : 250
Project : 1060-0011
CDP : N/A

Hanyeguxing前辈有用过如下的命令,在MS-DOS下依旧不行:

@echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in (2.ini) do (
set i=%%i
if /i "!i:~0,7!"=="Project" >>bios.dat echo %%j
)

以上在MS-DOS下出现 for的语化错误,原因是for /f不支持ms_dos

之后Hanyeguxing前辈想过如下语句,但在bios.dat中没有字符输出,最后的原因为more语句上

@echo off
find /i "Project" 2.ini>han_1.txt
more +2 han_1.txt>han_2.txt
set/p k=<han_2.txt
set k=%k:*:=%
del /q han_*
echo %k:~1% >bios.dat

还请各位高手帮忙解答~~

[ Last edited by van416 on 2010-12-12 at 10:13 ]
2 发表于 2010-12-11 18:25 ·  中国 江苏 苏州 联通
初级用户
积分 34
发帖 30
注册 2010-12-02 01:43
15年会员
UID 178698
性别 男
状态 离线
自己顶一下,希望高手帮忙解决
3 发表于 2010-12-12 10:26 ·  中国 江苏 无锡 电信
初级用户
积分 34
发帖 30
注册 2010-12-02 01:43
15年会员
UID 178698
性别 男
状态 离线
怎么依舊沒有人幫忙啊,自己再頂一下
4 发表于 2010-12-12 14:46 ·  中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
Originally posted by van416 at 2010-12-11 09:08:
……
但问题出来了,在WINXP下的DOS模式下可以使用,但是在MS-DOS下却使用不了,
...

给你纠正一个概念:Windows XP 下不存在什么 DOS 模式,那个叫命令行方式。
5 发表于 2010-12-12 18:12 ·  中国 江苏 无锡 电信
初级用户
积分 34
发帖 30
注册 2010-12-02 01:43
15年会员
UID 178698
性别 男
状态 离线
謝謝~~~
已經解決了,用SED可以
论坛跳转: