Board logo

标题: [文本处理] 【已解决】BAT:如何在数据1-9前加0,在数据0前加1 [打印本页]

作者: 思想之翼    时间: 2015-2-22 03:57     标题: 【已解决】BAT:如何在数据1-9前加0,在数据0前加1

本帖最后由 思想之翼 于 2015-2-22 12:24 编辑

D:/数据/内有若干txt文本,每个文本内的数据格式为:
790239
790240
...
欲批量整理各文本内的数据,在数据1-9前加0,在数据0前加1,整理后的数据为:
07 09 10 02 03 09
07 09 10 02 04 10
...
并将整理后的数据,覆盖原数据,文本名称不变。
恳望得到帮助。
作者: pcl_test    时间: 2015-2-22 12:04

本帖最后由 pcl_test 于 2015-2-22 12:36 编辑

回复 1# 思想之翼
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "D:\数据\"
  4. for /f "delims=" %%a in ('dir /b *.txt') do (
  5. for /f "delims=" %%b in ('type "%%a"') do (
  6. set "str=%%b"
  7. set t=
  8. for /l %%c in (0 1 5) do (
  9. if "!str:~%%c,1!" == "0" (
  10. set "t=!t!1!str:~%%c,1! "
  11. ) else (
  12. set "t=!t!0!str:~%%c,1! "
  13. )
  14. )
  15. >>$ echo,!t:~0,-1!
  16. )
  17. move $ "%%a"
  18. )
  19. pause
复制代码

作者: c755731262    时间: 2015-2-22 17:37

  1. @echo off&color f0&setlocal enabledelayedexpansion
  2. cd /d d:\数据1\
  3. for /f %%a in ('dir /b *.txt') do (
  4. (for /f %%i in (%%a) do (
  5. set n=%%i
  6. for /l %%j in (0,1,5) do (
  7. if "!n:~%%j,1!" neq "0" (set /p=0!n:~%%j,1! <nul) else (
  8. set /p=1!n:~%%j,1! <nul
  9. )
  10. )
  11. echo.
  12. )
  13. )>$
  14. del /q %%a
  15. ren $ %%a
  16. )
  17. pause
复制代码
回复 1# 思想之翼




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