标题: [文本处理] 批处理将txt文件每行的最后加一个分号,程序解惑 [打印本页]
作者: isc2010 时间: 2014-1-2 16:40 标题: 批处理将txt文件每行的最后加一个分号,程序解惑
程序代码
FOR %%j IN (*.txt) DO FOR /F "tokens=* delims=" %%i IN (%%j) DO ECHO %%i; >>new.txt
start new.txt
我的本意是想通过批处理将txt文件每行的最后加一个分号
比如,现在有个11.txt文件,里面内容如下:
111111111
2222222222222222
33333333333333333
444444444444
通过批处理,我想让每行末端增加一个分号,变为
111111111;
2222222222222222;
33333333333333333;
444444444444;
但是通过我上述程序,出现问题,输出结果为
111111111;
2222222222222222;
33333333333333333;
444444444444;
111111111;;
2222222222222222;;
33333333333333333;;
444444444444;;
请问如何解决?谢谢!
作者: DAIC 时间: 2014-1-2 16:53
- @echo off
- (for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
- for /f "usebackq tokens=*" %%j in ("%%i") do (
- echo %%i;
- )
- ))>new.txt
- start new.txt
复制代码
作者: isc2010 时间: 2014-1-2 17:13
回复 2# DAIC
你好,谢谢你的回答,不过我复制代码运行以后,出现如下内容
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
11.txt;
作者: DAIC 时间: 2014-1-2 17:41
回复 3# isc2010 - @echo off
- (for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
- for /f "usebackq tokens=*" %%j in ("%%i") do (
- echo %%j;
- )
- ))>new.txt
- start new.txt
复制代码
作者: 1270697389 时间: 2014-1-2 19:14
- @echo off
- setlocal enabledelayedexpansion
- for /f %%a in ('dir /b /a-d *.txt') do (
- for /f %%i in (%%a) do echo %%i;>>%%~dpna_1%%~xa
- )
- pause
复制代码
作者: 悬崖之树 时间: 2014-1-2 22:01
本帖最后由 悬崖之树 于 2014-1-2 22:43 编辑
出现111111111;
2222222222222222;
33333333333333333;
444444444444;
111111111;;
2222222222222222;;
33333333333333333;;
444444444444;;
的原因是新生成的new.txt也被归入(*.txt)里了。如果要把当前目录下所有的txt文件的内容修改后集中保存在new.txt里的话可以这样:- @echo off
- for %%j in (*.txt) do (
- for /f %%i in (%%j) do echo %%i;>>new
- )
- ren new new.txt
- start new.txt
复制代码
作者: wokong 时间: 2014-1-2 22:03
@echo off
for /f %%i in (成都信息.txt) do echo %%i;>>ret.txt
pause
就这个就搞定了 有那么难吗
作者: 悬崖之树 时间: 2014-1-2 22:42
回复 5# 1270697389
貌似不用开启变量延迟扩展吧!
还有 生成的文件的扩展名肯定是.txt,为什么还要%%~xa 呢?
作者: DAIC 时间: 2014-1-3 08:11
回复 7# wokong
楼主需要处理很多个文件
作者: DAIC 时间: 2014-1-3 08:15
回复 6# 悬崖之树
把重定向放在外面可以提高效率- @echo off
- (for %%j in (*.txt) do (
- for /f %%i in (%%j) do echo %%i;
- ))>new
- ren new new.txt
- start new.txt
复制代码
作者: wokong 时间: 2014-1-3 17:35
很好 学习了 水电费
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |