Board logo

标题: [文本处理] [已解决]文件夹内的所有文本全部处理怎么用批处理表达呢? [打印本页]

作者: fanfande    时间: 2011-11-18 17:52     标题: [已解决]文件夹内的所有文本全部处理怎么用批处理表达呢?

本帖最后由 fanfande 于 2011-11-24 11:39 编辑

你好,我是新手,我正在学习bat,刚刚起步,多多指教
一个文件转换为另外一个文件的时候 >1.txt 这个我知道,那么假如是
一个文件夹里面的文件 全体转换放到另外一个文件夹 怎么表达呢
作者: weichenxiehou    时间: 2011-11-18 18:40

比如转换所有的文本文档到new.txt里:
  1. type *.txt>new.txt
复制代码
不过这样会默认把文件名添加进去。
  1. copy *.txt new.txt
复制代码
这样就不会有文件名,只是把所有内容拼接在一起。
作者: CrLf    时间: 2011-11-18 19:28

如果是复制文件到文件夹,那么可以
  1. copy *.txt new\
复制代码
或者
  1. xcopy /s 文件夹1 文件夹2\
复制代码
如果要更精确筛选的话也可以用 for
作者: sxw    时间: 2011-11-18 21:43

  1. @echo off
  2. cd.>result.txt
  3. for /f "delims=" %%i in ('dir /b /a /s *.txt') do  copy  /b %%i+result.txt result.txt
复制代码

作者: CrLf    时间: 2011-11-18 22:41

本帖最后由 CrLf 于 2011-11-18 23:20 编辑

回复 4# sxw


    友情提示:可以淘汰 cd. 啦~用 @echo off>result.txt 吧
——————————————————————————————
“咔嚓”,两千帖拍照留念
作者: sxw    时间: 2011-11-18 23:07

回复 5# CrLf


    呵呵,我out啦
作者: fanfande    时间: 2011-11-19 01:31

谢谢大家哦
作者: fanfande    时间: 2011-11-24 11:32

回复 4# sxw


    delims
的意思代表什么含义
作者: sxw    时间: 2011-11-24 11:38

回复 8# fanfande


    delims是表示用什么符号分割文本字符串,此处表示不分割。所以设置delims=空
作者: fanfande    时间: 2011-11-24 12:32

回复 9# sxw


    要是用for处理一个文件夹里面的所有的txt然后处理好了新建一个文件夹放置新的处理完的txt
如何表达呢
作者: CrLf    时间: 2011-11-24 13:01

回复 10# fanfande


    可以直接输出到目标路径,省却一个复制的过程
  1. @echo off
  2. md 新处理好的文件
  3. for %%a in ("要处理的目录\*.txt") do (
  4.    for /f "delims=" %%b in (%%~sa) do echo %%b
  5. )>新处理好的文件\%%~na.txt
复制代码

作者: fanfande    时间: 2011-11-25 00:58

回复 11# CrLf


    您好可以帮我把这个代码转换成处理当前目录下所有txt,处理好了生成到新的目录
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=&set odd=
  3. (for /f "delims=" %%i in (a.txt) do (
  4.   set/a n+=1,m=n%%2
  5.   if !m! equ 1 (set "odd=%%i") else echo,%%i&echo,!odd!
  6. ))>new.txt
  7. if %m% equ 1 echo,%odd% >>new.txt
复制代码
我按你的方法依葫芦画瓢写了如下这个,测试不行
  1. @echo off&setlocal enabledelayedexpansion
  2. md 新处理好的文件
  3. set n=&set odd=
  4. (for /f "delims=" %%i in (dir/b *.txt) do (
  5.   set/a n+=1,m=n%%2
  6.   if !m! equ 1 (set "odd=%%i") else echo,%%i&echo,!odd!
  7. ))>新处理好的文件\%%~na.txt
  8. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2