[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】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: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
复制代码
1

评分人数

TOP

  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# 思想之翼
1

评分人数

TOP

返回列表