中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 19:40
楼 主 新的删除空格问题?? 发表于 2008-05-29 20:00 ·  中国 辽宁 本溪 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
UID 95263
性别 男
状态 离线
----------------------
aaa bbb
[abcd]
aaa bbb

cc dd
-------------------------
处理后变为
-----------------------
aaa bbb

[abcd]
aaa bbb
cc dd
---------------------
字符中间空格不要删除,并且让带有 [] 的 上面空一行
2 发表于 2008-05-29 20:17 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
UID 112398
性别 男
状态 离线

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
set str=%%i
if "!str!" equ "" (
echo.&echo !str!
) else (
echo !str!
)
)
pause>nul
批处理之家新域名:www.bathome.net
3 发表于 2008-05-29 20:26 ·  中国 辽宁 本溪 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
UID 95263
性别 男
状态 离线
Originally posted by zw19750516 at 2008-5-29 08:17 PM:

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
set str=%%i
if "!str!" equ "" (
echo.&echo !str ...




能不能把 "" 换成 万能的 因为 还有 之类的

获取 "
4 发表于 2008-05-29 20:27 ·  中国 重庆 电信
初级用户
★★
积分 198
发帖 89
注册 2007-09-06 23:22
UID 96746
性别 男
来自 重庆
状态 离线
我发现一个更简洁的:
@echo off
for /f "delims=" %%i in (1.txt) do (
if %%i== echo.
echo %%i
)
pause>nul
5 发表于 2008-05-29 20:30 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
UID 73968
性别 男
状态 离线

@echo off
for /f "delims=" %%a in (a.txt) do (
if "%%a"=="" echo.
echo %%a
)
pause
致精致简!
6 发表于 2008-05-29 20:32 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
UID 73968
性别 男
状态 离线
晕,发帖后发现我以是5楼了,还以为是在3楼呢?
和4楼的一模一样。哈哈。。。
致精致简!
7 发表于 2008-05-29 20:41 ·  中国 重庆 电信
初级用户
★★
积分 198
发帖 89
注册 2007-09-06 23:22
UID 96746
性别 男
来自 重庆
状态 离线
我的还少了四个引号,呵呵........
8 发表于 2008-05-29 20:47 ·  中国 辽宁 本溪 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
UID 95263
性别 男
状态 离线
[abcd] 这个不光是一个啊 还有 [efgh] [ijk] 之类的

如果要有几十个 [] 一个个 添加太麻烦啊
9 发表于 2008-05-29 20:51 ·  中国 重庆 电信
初级用户
★★
积分 198
发帖 89
注册 2007-09-06 23:22
UID 96746
性别 男
来自 重庆
状态 离线
楼上说的这种情况还要具体情况具体分析才行。
10 发表于 2008-05-29 21:16 ·  中国 辽宁 本溪 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
UID 95263
性别 男
状态 离线
不能就以 [ 做判断吗 如果有[ 就在上面空一行
11 发表于 2008-05-29 21:20 ·  中国 重庆 电信
初级用户
★★
积分 198
发帖 89
注册 2007-09-06 23:22
UID 96746
性别 男
来自 重庆
状态 离线
如果行的第一个字符就是@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
set "str=%%i"
if "!str:~0,1!"=="




[ Last edited by WANKOILZ on 2008-5-29 at 09:22 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
amio +2 2008-05-29 21:37
12 发表于 2008-05-29 21:24 ·  中国 四川 成都 电信
中级用户
★★
积分 297
发帖 135
注册 2006-10-21 12:00
UID 67627
性别 男
状态 离线
@echo off
for /f "delims=" %%i in (1.txt) do (
echo %%i|findstr "^$">nul&&echo.
echo %%i
)
pause>nul
13 发表于 2008-05-29 21:35 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
UID 73968
性别 男
状态 离线
Originally posted by zqz0012005 at 2008-5-29 21:24:
@echo off
for /f "delims=" %%i in (1.txt) do (
echo %%i|findstr "^$">nul&&echo.
echo %%i
)
pause>nul

呵呵,楼上的就真的存在效率问题了。
致精致简!
14 发表于 2008-05-29 21:39 ·  中国 辽宁 本溪 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
UID 95263
性别 男
状态 离线
Originally posted by 26933062 at 2008-5-29 09:35 PM:

呵呵,楼上的就真的存在效率问题了。



那个我试 根本就不好使 。
15 发表于 2008-05-29 21:49 ·  中国 辽宁 本溪 中移铁通
中级用户
★★
积分 206
发帖 93
注册 2007-08-16 17:19
UID 95263
性别 男
状态 离线
还有个问题

如果每行 前面有空格 也删除 ?

aaaaaaa
bbbbbbbbb
-----------------

aaaaaaa
bbbbbbbbb
论坛跳转: