Board logo

标题: [文件操作] 批处理如何批量将tfw文件里的坐标数据按指定格式分离出来? [打印本页]

作者: 506162272    时间: 2016-6-5 23:16     标题: 批处理如何批量将tfw文件里的坐标数据按指定格式分离出来?

有很多个.tfw坐标文件,原始格式如下:

现需要修改成如下格式:

这些文件每一行的位数都是一定的,如何用批处理实现,新手求指教
作者: pcl_test    时间: 2016-6-6 00:17

举个栗子
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set str=0.20000000000.00000000000.0000000000-0.2000000000405000.10000000003290999.8999999999
  4. (for /l %%a in (0 1 1000) do (
  5.     set /p=!str:~%%a,1!
  6.     if "!str:~%%a,1!" equ "." (
  7.         set n=
  8.     ) else if "!str:~%%a,1!" equ "" goto :quit
  9.     set /a n+=1
  10.     if !n! equ 11 echo;
  11. ))<nul
  12. :quit
  13. pause
复制代码

作者: pcl_test    时间: 2016-6-6 00:25

  1. /*&cls
  2. @echo off
  3. set str=0.20000000000.00000000000.0000000000-0.2000000000405000.10000000003290999.8999999999
  4. cscript -nologo -e:jscript "%~f0" %str%
  5. pause & exit
  6. */
  7. WSH.Echo(WSH.Arguments(0).replace(/\.\d{10}(?!$)/g, '$&\r\n'));
复制代码

作者: gawk    时间: 2016-6-6 09:53

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "FolderName=bbs.bathome.net"
  4. if not exist "%FolderName%\" (
  5.     md "%FolderName%"
  6. )
  7. for /f "delims=" %%i in ('dir /b /a-d *.tfw') do (
  8.     grep -Po "\-?\d+\.\d{10}" "%%i" > "%FolderName%\%%~ni_new%%~xi"
  9. )
复制代码
命令行工具 grep.exe 下载地址
http://www.bathome.net/s/tool/index.html?key=grep




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