中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 22:26
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 新的删除空格问题??
可打印版本  2,709 / 40
第31楼 26933062 发表于 2008-05-29 23:04
银牌会员 发帖 879 积分 2,268

还有,再劳驾:为什么不在后面再加个 .* 形如:".*\.*" ,这样和不加有什么区别?
...

.*\ 只要符号条件就已经匹配了,所以不用管 后面是否还有内容
后面加.*意思是后面有或无内容都匹配。
但若是".*\..*" 就不一样了。表示后面至少还要有一个字符

回27楼: eol=;

[ Last edited by 26933062 on 2008-5-29 at 11:06 PM ]
第32楼 WANKOILZ 发表于 2008-05-29 23:18
初级用户 发帖 89 积分 198 来自 重庆
哦,就是,.*\[..*\] 只要符号条件就已经匹配了,想通了,非常感谢。
for /f 不是默认就忽略 ; 开头的行么。
第33楼 amio 发表于 2008-05-29 23:21
中级用户 发帖 93 积分 206
这样输出 为什么 [ 的空行就不会空了呢 只会吧; 和全部的空格删除
@echo off
for /f "delims=:" %%a in ('findstr /n ".*\[..*\]" a.txt') do set .%%a=a
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
if defined .%%a echo.
for /f "tokens=*" %%i in ("%%b") do echo.%%i>>temp.txt
)
第34楼 amio 发表于 2008-05-29 23:24
中级用户 发帖 93 积分 206
Originally posted by zqz0012005 at 2008-5-29 11:01 PM:
如果后面再加个 .*,则像add这样不是以]结尾的行也会匹配,而这样的行不是楼主想的要吧



侥幸吧 我修改的文件里 没有这些
第35楼 WANKOILZ 发表于 2008-05-29 23:28
初级用户 发帖 89 积分 198 来自 重庆
加不加 .* 都匹配[reg]add。因为.*可以是什么都没有,但..*就表示至少要有一个字符。
第36楼 amio 发表于 2008-05-29 23:34
中级用户 发帖 93 积分 206
希望 26933062 兄弟 在给一个完整的代码

[ ; 还有每行字符前面空格 以及除 [ 空格外 删除其他全部空格 。。。。。。。。。。。。。。。。。。。。。。。。。。。
第37楼 26933062 发表于 2008-05-29 23:36
银牌会员 发帖 879 积分 2,268
Originally posted by amio at 2008-5-29 23:34:
希望 26933062 兄弟 在给一个完整的代码


你的变化太多,解决了一个又来一个,
况且 你楼上的 简语 我看不懂。
第38楼 amio 发表于 2008-05-30 13:51
中级用户 发帖 93 积分 206
Originally posted by 26933062 at 2008-5-29 11:36 PM:

你的变化太多,解决了一个又来一个,
况且 你楼上的 简语 我看不懂。


@echo off
for /f "delims=:" %%a in ('findstr /n ".*\" a.txt') do set .%%a=a
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
if defined .%%a echo.
for /f "tokens=*" %%i in ("%%b") do echo.%%i
)

这个代码基本已经可以实现我说的了 如何输出 ?
第39楼 WANKOILZ 发表于 2008-05-31 12:21
初级用户 发帖 89 积分 198 来自 重庆
回楼上,晕!!
@echo off
for /f "delims=:" %%a in ('findstr /n ".*\[..*\]" a.txt') do set .%%a=a
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
if defined .%%a echo.>>a.txt
for /f "tokens=*" %%i in ("%%b") do echo.%%i>>a.txt
)

在echo后面加个>>就行了........
第40楼 amio 发表于 2008-05-31 12:52
中级用户 发帖 93 积分 206
Originally posted by WANKOILZ at 2008-5-31 12:21 PM:
回楼上,晕!!
@echo off
for /f "delims=:" %%a in ('findstr /n ".*\" a.txt') do set .%%a=a
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
...



我试过这样 有的功能不能都实现
第41楼 FQ 发表于 2008-05-31 13:29
社区乞丐 发帖 37 积分 -61
去掉左右空格:
3.txt

测试代码:
上一页  1 2 3
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023