Board logo

标题: [文本处理] 批处理如何在文件中的字符串里面加一空格? [打印本页]

作者: 1130342432    时间: 2011-7-29 08:13     标题: 批处理如何在文件中的字符串里面加一空格?

现有一文本文件1.txt,内容为abcdefghijklmnopqrstuvwxyz,如何编写批处理使输出
a b c d e f g h i j k l m n o p q r s t u v w x y z?
作者: CrLf    时间: 2011-7-29 09:21

只有单字节字符的文本可以这样:
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=1
  3. for /f "tokens=1* delims=:" %%a in ('
  4.    "cmd /u /c type 1.txt|more|findstr /n ."
  5. ') do (
  6.    if %%a neq !n! (
  7.       echo;!str:~1!
  8.       for /l %%b in (!n! 9 %%a) do if %%b neq !n! echo;
  9.       set str=
  10.    )
  11.    set /a n=%%a+1
  12.    set str=!str! %%b
  13. )
  14. echo;!str:~1!
  15. pause
复制代码

作者: 1130342432    时间: 2011-7-29 09:48

good
good
good
good
作者: CUer    时间: 2011-7-29 10:42

  1. sed "s/./& /g" a.txt
复制代码

作者: CUer    时间: 2011-7-30 10:51

  1. gawk -F "" "$1=$1" a.txt
复制代码

作者: cjiabing    时间: 2011-7-30 11:34

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%a in ("abcdefghijklmnopqrstuvwxyz") do (
  3. set var=%%a
  4. for /l %%i in (0,1,100000) do if not "!var:~%%i,1!"=="" set /p=!var:~%%i,1! <nul
  5. )
  6. pause>nul
复制代码

作者: Hello123World    时间: 2011-7-31 13:51

  1. @echo off&SetLocal EnableDelayedExpansion
  2. Set n=0
  3. Set c=
  4. For /f %%i in (1.txt) do Call :hello %%i
  5. pause >nul & exit
  6. :hello
  7. Set a=%1
  8. Set b=!a:~%n%,1!
  9. if not "!b!"=="" Set /p c=%c% %b%<nul
  10. Set /a n+=1
  11. if not "!b!"=="" goto hello
复制代码





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