标题: [文本处理] [已解决]批处理能不能加入换行符? [打印本页]
作者: jzsgyml 时间: 2011-7-21 12:41 标题: [已解决]批处理能不能加入换行符?
搜索了下sed可以,想用批处理直接点。
1.txt如下复制代码
文本结束的光标在C后面,
我在末尾插入时间,需要把光标换行,请问如何修改?
echo %date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2% %ip1%>>1.txt
这个错误代码结果是复制代码
需求的结果应该是- 内容A
- 内容B
- 内容C
- 07-21 12:41
- |
复制代码
光标在时间行的下面那行
作者: CrLf 时间: 2011-7-21 12:50
本帖最后由 CrLf 于 2011-7-21 12:58 编辑
more 命令会自动补足缺失的换行,但是有三个限制:1,在循环中耗时比重大;2,more 命令读取超大文本时有可能读不尽;3,more命令会自动为单个的换行符配上回车,同时所有nul字符都会被转换成断行- (
- more 1.txt
- echo %date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2% %ip1%
- )>2.txt
复制代码
另一种更通用的方法,用find命令补足缺失的换行:- (
- find /v ""<1.txt
- echo %date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2% %ip1%
- )>2.txt
复制代码
也可以通过findstr判断文本是否存在不含换行符的行,若存在则单独输出一个空行:- (
- type 1.txt
- findstr /v $ 1.txt>nul||echo;
- echo %date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2% %ip1%
- )>2.txt
复制代码
作者: zz100001 时间: 2011-7-21 15:07
既然你看到了echo会换行,那么先追加一个空行不就OK了:- echo,>>1.txt
- echo %date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2% %ip1%>>1.txt
复制代码
或者- echo ^
-
- %date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2% %ip1%>>1.txt
复制代码
作者: jzsgyml 时间: 2011-7-21 18:22
2楼具有通用性,能够判断是不是空行,不用担心出错。
3楼直接,如果在知道文本没有空行的情况下,echo,>>1.txt,直接插入空行也很简洁。
谢谢大家!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |