Board logo

标题: [文本处理] 批处理如何将文件夹下所有txt文档中的null 值替换为制表符? [打印本页]

作者: zjfy22    时间: 2012-3-15 18:03     标题: 批处理如何将文件夹下所有txt文档中的null 值替换为制表符?

L45601CY0001        NULL        700.00
L45601CY0001        NULL        876.00


文件格式如上。
请高手赐教,谢谢!
作者: QIAOXINGXING    时间: 2012-3-15 18:34

把tab的值替换成tab键:
  1. @echo off&SetLocal EnableDelayEdexpansion&cd /d "%~dp0"
  2. set "tab= "
  3. (for /f "delims=" %%i in (1.txt) do (
  4.   set "str=%%i"
  5.   set "str=!str:null=%tab%!"
  6.   echo !str!
  7. ))>2.txt
复制代码

作者: zjfy22    时间: 2012-3-16 08:47

本帖最后由 zjfy22 于 2012-3-16 08:52 编辑

感谢!
替换是没问题。
在请教两个问题
1、 如何将指定文件夹(D:\File\)下的所有的txt替换,不知道txt的 名称。
2. 不生成新的txt 直接在原txt中修改 保存。
新人 请高手指点!
作者: apang    时间: 2012-3-16 14:03

  1. @echo off
  2. pushd "D:\File\"
  3. set "tab= "
  4. for /f "delims=" %%i in ('dir /b *.txt') do (
  5.     (for /f "delims=" %%j in ('type "%%i"') do (
  6.          set "str=%%j"
  7.          call echo %%str:null=%tab%%%
  8.     ))>$
  9. move $ "%%i"
  10. )
复制代码
试试看吧。
作者: find    时间: 2012-3-16 18:57

回复 3# zjfy22
  1. sed -i "s/NULL/\t/g" *.txt
复制代码

作者: zjfy22    时间: 2012-3-19 09:34

感谢




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