中国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 楼』:  

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




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





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

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 楼』:  

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]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: