中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 07:18
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助] 在MS-DOS模式下抓特定字符----哎等不到一個結果
可打印版本  1,287 / 4
第1楼 van416 发表于 2010-12-11 09:08
初级用户 发帖 30 积分 34
[求助] 在MS-DOS模式下抓特定字符----哎等不到一個結果
刚刚在 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楼 van416 发表于 2010-12-11 18:25
初级用户 发帖 30 积分 34
自己顶一下,希望高手帮忙解决
第3楼 van416 发表于 2010-12-12 10:26
初级用户 发帖 30 积分 34
怎么依舊沒有人幫忙啊,自己再頂一下
第4楼 DOSforever 发表于 2010-12-12 14:46
金牌会员 发帖 2,239 积分 4,639
Originally posted by van416 at 2010-12-11 09:08:
……
但问题出来了,在WINXP下的DOS模式下可以使用,但是在MS-DOS下却使用不了,
...

给你纠正一个概念:Windows XP 下不存在什么 DOS 模式,那个叫命令行方式。
第5楼 van416 发表于 2010-12-12 18:12
初级用户 发帖 30 积分 34
謝謝~~~
已經解決了,用SED可以
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023