标题: [文本处理] 批处理怎样在所有段落的开头前加上四个字符的空格? [打印本页]
作者: huzi525 时间: 2010-5-15 10:21 标题: 批处理怎样在所有段落的开头前加上四个字符的空格?
各位老大,
小弟想求一个代码
实现在文本文件里 所有段落的开头自动前加上指定字符数(比如说4个)的空格。
即实现手动缩进的功能。
最好是支持文件拖拽,比如把一个全文段落都没有缩进的文本A.TXT 拖到 制作好的ChangeVision.bat图标上,
然后同样的目录下输出一个完成缩进功能的A_Change.TXT文件。
劳烦各位了~在此先谢过!!!
非常感谢
【hanyeguxing】的代码、和提醒,基本上是我要的的效果。
不过,又带来了个新的问题。原本特意空出来的空行,似乎都被删除了哦。能否保留原本的空行呢?
应【Batcher】的要求现贴出原始数据
原本的文本格式如下:
(原本它是有每一段空一行的,我拷贝进来的时候,所有的空行都消除了,现在看到的效果是我手动加上去的)
无线网络以其“无所不在”的魅力正成为人们追逐的焦点。无论是网络升级还是重新组网,人们总希望自己的网络能够摆脱线缆的束缚,走进自由的天地。在WLAN的暑期促销中,选购无线产品的用户也与日俱增。但与有线产品相比,无线产品还是新事物,并不是所有的消费者都能很好地把握选购要点。这里,我们收集了六个带有普遍性的疑问进行解答,希望对大家的选购有所帮助。
是802.11g还是802.11b?
就目前而言,人们实现无线上网有三种途径,分别是WLAN无线上网和CDMA、GPRS上网。对家庭用户来讲,不论是速度还是资费,WLAN无线上网都是体验无线自由的绝佳方案。如今市面上能够组建WLAN网络的产品按照速率的不同,可以分为11M、54M、22M、108M等,其中以前两者产品最为多见。那么对于家庭用户,这两种标准的产品哪一个更适合呢?
要回答这个问题并不是很容易,因为虽然802.11g产品可以看成是802.11b产品的升级,但在兼容性、稳定性以及覆盖面、价格上的优势并不明显。首先,802.11b产品11M的传输速度高于DSL、LAN等家庭常见宽带类型的接入速度,完全可以满足家庭用户无线宽带共享上网的需求。其次,802.11b产品在价格上容易接受,从目前的价格来看,同品牌的802.11g产品往往是802.11b产品价格的2~3倍,但近期也有少数厂商刚刚将价格降低到用户可以接受的水平。还有经过市场考验的802.11b产品较多,选择余地大,所以更适合家庭用户选用。
802.11g是未来发展的主流,不过这里需要提醒大家的是,802.11g产品与802.11b产品混用时,吞吐量只能达到14.4M左右,所以802.11g产品比较适合新网络的组建。
需要另行购置无线防火墙吗?
网络安全是个永恒的话题,只是在无线网络中显得尤为沉重。至于802.11x有什么样的安全漏洞这里不再赘述。我们想解答的问题是:组建无线网络需要另行购置无线防火墙吗?
在无线领域里,专心致力于防火墙功能的产品并不多,即使有,在价格上家庭用户也无法承受。换句话说,无线防火墙总是和其他产品捆绑在一起,作为其他产品的一种附加功能出现,其中最为多见的就是无线宽带路由器。
[ 本帖最后由 huzi525 于 2010-5-15 14:20 编辑 ]
作者: hanyeguxing 时间: 2010-5-15 10:24
段落的标志是什么?一行即为一段?
以一行为一段,新生成的文件名在原文件名后加了_,并位于原目录下:- @echo off&cd/d "%~dp0">nul&echo.正在处理......
- (for /f "usebackq delims=" %%a in ("%~1") do echo. %%a)>"%~dpn1_%~x1"
复制代码
ps:使用“ ”表示一个汉字,不要使用2个空格来表示一个汉字,特别是此txt被应用于网页文件时
[ 本帖最后由 hanyeguxing 于 2010-5-15 10:49 编辑 ]
作者: Batcher 时间: 2010-5-15 12:10
最还能把原始数据格式贴到顶楼看看
作者: hanyeguxing 时间: 2010-5-15 15:21
要求ANSI编码:- @echo off&cd/d "%~dp0">nul&echo.正在处理......
- (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%~1"') do (
- Setlocal enabledelayedexpansion
- set b=%%b
- if not "!b!"=="" set "b= !b!"
- echo.!b!
- endlocal))>"%~dpn1_%~x1"
复制代码
如果没有敏感字符,则可以:- @echo off&cd/d "%~dp0">nul&echo.正在处理......
- (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%~1"') do if "%%b"=="" (echo.) else echo. %%b)>"%~dpn1_%~x1"
复制代码
[ 本帖最后由 hanyeguxing 于 2010-5-15 15:31 编辑 ]
作者: CUer 时间: 2010-5-15 19:56
- sed -i "1s/^/ /;/^$/N;s/\n/\n /" a.txt
复制代码
作者: namejm 时间: 2010-5-15 21:17
网上搜索“文本整理器”,5年前的一款软件,至今仍为经典,基本上你所能想到的整理效果都考虑到了,并且整理的速度飞快,处理大文件时效果尤为明显,唯一让我觉得难以忍受的是竟然不支持把文件拖曳过去处理,非得一层一层点开,不过看在其他功能十分优秀的份上,这个小缺憾也是可以忽略的。
作者: sgaizxt001 时间: 2010-5-15 22:01
为什么不用word呢?
作者: namejm 时间: 2010-5-15 22:03
word里的正则表达式不是普通用户能玩转的
还是用现成的工具更方便一些。
作者: sgaizxt001 时间: 2010-5-15 22:16
以前我对word用的少,不熟悉,前段时间有个人喊我帮他考计算机等级证书,我拿针对WORD的试题看了几遍,动手做做,发现功能非常强大,非常的多。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |