中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 05:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助 Help]如何清除文本里面开头的空格 查看 1,060 回复 11
楼 主 [求助 Help]如何清除文本里面开头的空格 发表于 2007-10-22 17:38 ·  中国 广东 深圳 南山区 电信
初级用户
积分 32
发帖 13
注册 2005-11-29 17:08
20年会员
UID 46179
状态 离线
请教下各位DOS大侠,如何清除文本里面开头的空格,谢谢了


文本里面的内容如下
Name: Intel(R) 82801FBM LPC Interface Controller - 2641
Device ID: PCI\VEN_8086&DEV_2641&SUBSYS_00000000&REV_04
Driver: C:\WINDOWS\system32\DRIVERS\isapnp.sys, 5.01.2600.0000 Name: Mobile Intel(R) 915GM/PM Express PCI Express Root Port - 2591
Device ID: PCI\VEN_8086&DEV_2591&SUBSYS_00000000
Driver: C:\WINDOWS\system32\DRIVERS\pci.sys, 5.01.2600.2180 (Chinese), 8/16/2004 16:23:08, 66176 bytes
2 发表于 2007-10-22 17:41 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
for /F "tokens=*" %%a in (ufile) do (echo %%a)
3 发表于 2007-10-22 17:46 ·  中国 广东 深圳 南山区 电信
初级用户
积分 32
发帖 13
注册 2005-11-29 17:08
20年会员
UID 46179
状态 离线
没有效果呢?请问下如何使用,谢谢版主大人了!

for /F "tokens=*" %%a in (这里是我的文件名称么?) do (echo %%a)
4 发表于 2007-10-22 17:47 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
是啊
5 发表于 2007-10-22 17:52 ·  中国 广东 深圳 南山区 电信
初级用户
积分 32
发帖 13
注册 2005-11-29 17:08
20年会员
UID 46179
状态 离线
for /F "tokens=*" %%a in (info.log) do (echo %%a)
for /f "delims=" %%i in (info.dat) do (
if not defined %%i set %%i=A & echo %%i>>file.txt)
start file.txt.txt

我是这样写的,但不正确哦!
我是想把info.dat文件里面多余的行去掉,但前面有空格 需要去掉空格
6 发表于 2007-10-22 17:54 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
Originally posted by lxmxn at 2007-10-22 17:41:
for /F "tokens=*" %%a in (ufile) do (echo %%a)


"tokens=*" 会将*作为分隔符集, 应该用"tokens=" 这样就不会使用分隔符集了,就会把使用的传输给%%a
如:

for /F "tokens=" %%a in (ufile) do (echo %%a)
7 发表于 2007-10-22 17:56 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
多余的行?

哪些行是多余的呢?
8 发表于 2007-10-22 17:56 ·  中国 广东 深圳 南山区 电信
初级用户
积分 32
发帖 13
注册 2005-11-29 17:08
20年会员
UID 46179
状态 离线
-----------------------------------------
没脸拿出来了,去掉了,呵呵
-------------------------------------------

[ Last edited by logopc on 2007-10-22 at 06:07 PM ]
9 发表于 2007-10-22 17:58 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
超版笔误了吧?
10 发表于 2007-10-22 18:02 ·  中国 广东 深圳 南山区 电信
初级用户
积分 32
发帖 13
注册 2005-11-29 17:08
20年会员
UID 46179
状态 离线
是这样的
我这里有项工作需要完成,有几百个1M左右的文本文挡,需要把文挡里面每一段开头的空格去掉,开始没讲清楚请谅解。谢谢斑竹与总斑竹啦
例如
----------------------------------------------------------------------------
ID1: AWRDACPI
BIOS ID: 001121
STID: 1.6011SDF
Memory: 545DF
name: 54SDGS
Display: 512FU
AW:97ASDF
-------------------------------------------------

需要变换成如下
---------------------------------------------------
ID1: AWRDACPI
BIOS ID: 001121
STID: 1.6011SDF
Memory: 545DF
name: 54SDGS
Display: 512FU
AW:97ASDF
-------------------------------------------

[ Last edited by logopc on 2007-10-22 at 06:14 PM ]
11 发表于 2007-10-22 18:13 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
楼主在 5 楼 的代码
两个for没有任何关联,而且文件名的后缀名还不一样,当然不行了.


for /F "tokens=*" %%a in (info.dat) do (
if not defined %%a set %%a=A & echo %%a>>file.txt
)
start file.txt
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
logopc +2 2007-10-22 18:18
致精致简!
12 发表于 2007-10-22 18:17 ·  中国 广东 深圳 南山区 电信
初级用户
积分 32
发帖 13
注册 2005-11-29 17:08
20年会员
UID 46179
状态 离线
感谢感谢!解决啦!哈哈,遇见你们真好啊!谢谢啦
————————————————————
有空一定来这里多学习
论坛跳转: