中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] [3] »
作者:
标题: 新的删除空格问题?? 上一主题 | 下一主题
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『楼 主』:  新的删除空格问题??

----------------------
aaa bbb
[abcd]
aaa bbb

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

[abcd]
aaa bbb
cc dd
---------------------
字符中间空格不要删除,并且让带有 [] 的 上面空一行

2008-5-29 20:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 2 楼』:  


@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
    set str=%%i
    if "!str!" equ "[abcd]" (
       echo.&echo !str!
       ) else (
       echo !str!
    )
)
pause>nul




批处理之家新域名:www.bathome.net
2008-5-29 20:17
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by zw19750516 at 2008-5-29 08:17 PM:
[code]
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
    set str=%%i
    if "!str!" equ "[abcd]" (
       echo.&echo !str ...

能不能把 "[abcd]"   换成 万能的     因为 还有 [efgh]   [ijk]  之类的  

获取 "["  ?

2008-5-29 20:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『第 4 楼』:  

我发现一个更简洁的:
@echo off
for /f "delims=" %%i in (1.txt) do (
if %%i==[abcd] echo.
echo %%i
)
pause>nul


2008-5-29 20:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 5 楼』:  


@echo off
for /f "delims=" %%a in (a.txt) do (
   if "%%a"=="[abcd]" echo.
   echo %%a
)
pause




致精致简!
2008-5-29 20:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 6 楼』:  

晕,发帖后发现我以是5楼了,还以为是在3楼呢?
和4楼的一模一样。哈哈。。。



致精致简!
2008-5-29 20:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『第 7 楼』:  

我的还少了四个引号,呵呵........

2008-5-29 20:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 8 楼』:  

[abcd]  这个不光是一个啊    还有 [efgh]   [ijk]  之类的  

如果要有几十个 []  一个个 添加太麻烦啊

2008-5-29 20:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『第 9 楼』:  

楼上说的这种情况还要具体情况具体分析才行。

2008-5-29 20:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 10 楼』:  

不能就以 [  做判断吗    如果有[   就在上面空一行

2008-5-29 21:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『第 11 楼』:  

如果行的第一个字符就是[的话,用字符截取+判断就行了吧:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
set "str=%%i"
if "!str:~0,1!"=="[" echo.
echo %%i
)
pause>nul
[ Last edited by WANKOILZ on 2008-5-29 at 09:22 PM ]

   此帖被 +2 点积分    点击查看详情   
评分人:【 amio 分数: +2  时间:2008-5-29 21:37


2008-5-29 21:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zqz0012005
中级用户




积分 297
发帖 135
注册 2006-10-21
状态 离线
『第 12 楼』:  


@echo off
for /f "delims=" %%i in (1.txt) do (
echo %%i|findstr "^[.*]$">nul&&echo.
echo %%i
)
pause>nul




hh.exe ntcmds.chm::/ntcmds.htm
2008-5-29 21:24
查看资料  发短消息 网志  OICQ (411976538)  编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 13 楼』:  



  Quote:
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

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



致精致简!
2008-5-29 21:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by 26933062 at 2008-5-29 09:35 PM:

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

那个我试  根本就不好使   。

2008-5-29 21:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
amio
中级用户





积分 206
发帖 93
注册 2007-8-16
状态 离线
『第 15 楼』:  

还有个问题  

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

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

aaaaaaa
bbbbbbbbb

2008-5-29 21:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: