[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d/b *.txt') do (
  3. (for /f "delims=" %%b in ('type "%%a"') do (
  4. set "str=%%b"&setlocal enabledelayedexpansion
  5. echo;!str::=!&endlocal
  6. ))>"out.log"
  7. move /y "out.log" "%%a"
  8. )
复制代码
1

评分人数

TOP

回复 4# tigerpower


    什么问题?
   批处理本身不擅长文本,像你这样长的文件,即使能处理,耗时定然很长了。

TOP

本帖最后由 yhcfsr 于 2018-4-18 21:53 编辑

回复 6# tigerpower


楼上说得有理。逐行处理文本的方式,对于长文本的确不合适。
因此我尝试POWERSHELL,做了个71W行的文本(26M),用powershell处理了也花68S,而用记事本打开,替换,保存也就10多秒的事。
15W行,8.8秒处理完成。
以下是测试代码:
  1. cls;
  2. $file=$null;
  3. $time=get-date
  4. $file=Get-Content "d:\test\out.txt";
  5. $file=($file -replace ':','');
  6. out-file "d:\test\out.txt" -InputObject $file;
  7. ((get-date)-$time).TotalSeconds
复制代码

TOP

返回列表