找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28114|回复: 11

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

[复制链接]
发表于 2011-11-18 17:52:42 | 显示全部楼层 |阅读模式
本帖最后由 fanfande 于 2011-11-24 11:39 编辑

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

评分

参与人数 1PB +2 收起 理由
CrLf + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-11-18 18:40:12 | 显示全部楼层
比如转换所有的文本文档到new.txt里:

  1. type *.txt>new.txt
复制代码
不过这样会默认把文件名添加进去。

  1. copy *.txt new.txt
复制代码
这样就不会有文件名,只是把所有内容拼接在一起。

评分

参与人数 1PB +5 收起 理由
CrLf + 5 乐于助人

查看全部评分

发表于 2011-11-18 19:28:43 | 显示全部楼层
如果是复制文件到文件夹,那么可以
  1. copy *.txt new\
复制代码
或者
  1. xcopy /s 文件夹1 文件夹2\
复制代码
如果要更精确筛选的话也可以用 for
发表于 2011-11-18 21:43:39 | 显示全部楼层

  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
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

发表于 2011-11-18 22:41:31 | 显示全部楼层
本帖最后由 CrLf 于 2011-11-18 23:20 编辑

回复 4# sxw


    友情提示:可以淘汰 cd. 啦~用 @echo off>result.txt 吧
——————————————————————————————
“咔嚓”,两千帖拍照留念
发表于 2011-11-18 23:07:40 | 显示全部楼层
回复 5# CrLf


    呵呵,我out啦
 楼主| 发表于 2011-11-19 01:31:10 | 显示全部楼层
谢谢大家哦
 楼主| 发表于 2011-11-24 11:32:59 | 显示全部楼层
回复 4# sxw


    delims
的意思代表什么含义
发表于 2011-11-24 11:38:09 | 显示全部楼层
回复 8# fanfande


    delims是表示用什么符号分割文本字符串,此处表示不分割。所以设置delims=空
 楼主| 发表于 2011-11-24 12:32:18 | 显示全部楼层
回复 9# sxw


    要是用for处理一个文件夹里面的所有的txt然后处理好了新建一个文件夹放置新的处理完的txt
如何表达呢
发表于 2011-11-24 13:01:36 | 显示全部楼层
回复 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
复制代码
 楼主| 发表于 2011-11-25 00:58:07 | 显示全部楼层
回复 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
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 10:44 , Processed in 0.023190 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表