[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 13# Wedy
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "NewFolder=处理结果"
  4. if not exist "%NewFolder%" (
  5.     md "%NewFolder%"
  6. )
  7. for %%x in (*.txt) do (
  8.     (for /f "tokens=1* delims==" %%a in ('type "%%x"') do (
  9.         set "RawKey=%%a"
  10.         set "TrimKey=!RawKey: =!"
  11.         set "CheckCurly=%%b"
  12.         if "!CheckCurly:~0,1!" equ "{" (
  13.             for /f "tokens=1* delims=." %%e in ("%%a") do (
  14.                 if "x%%f" neq "x" (
  15.                     call :ChangeKey "%%a" "%%b"
  16.                 ) else (
  17.                     echo %%a=%%b
  18.                 )
  19.             )
  20.         ) else if "!TrimKey!" equ "birth" (
  21.             call :ChangeValue "%%~a" "%%~b"
  22.         ) else if "!TrimKey!" equ "death" (
  23.             call :ChangeValue "%%~a" "%%~b"
  24.         ) else if "x%%b" neq "x" (
  25.             echo %%a=%%b
  26.         ) else (
  27.             echo %%a
  28.         )
  29.     ))>"%NewFolder%\%%x"
  30. )
  31. goto :eof
  32. :ChangeKey
  33. for /f "tokens=1* delims=." %%h in ("%~1") do (
  34.     set /a CalcYear=%%h+2697
  35.     echo   !CalcYear!.%%i=%~2
  36. )
  37. goto :eof
  38. :ChangeValue
  39. for /f "tokens=1* delims=." %%h in ("%~2") do (
  40.     set /a CalcYear=%%h+2697
  41.     echo %~1="!CalcYear!.%%i"
  42. )
  43. goto :eof
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 14# Wedy


公元1年的时间貌似都没转成功

你给个测试用例,我试试看。

(我来问之前特别去看了下正则表达式"[-]{0,1}[0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3}",不知道这个不能用在批处理中吗?

findstr命令不支持这种复杂的正则,需要引入第三方命令才行。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

这个只是随便从文件中搞了几个有人物也有头衔的,我试了你新给的,有一个500+Kb人物文本那里矿口提示云幸福不存在,这个有上传限制,我给不了大文本。不知道是不是这个文件中有什么关键字之类的让bat命令停止了。格式有点问题(会把时间空一格出来,是因为公元前-号的原因?强迫症对不整齐感觉不舒服)。类似头衔以1.1.1日的时间没有被转,包括改成了180年之类的也无效管理方便就看,不方便就算了。我主要是不想对每一个年份进行计算,毕竟那个容易出错,有些许地方有问题,是可以接受的,发现了就改,没发现就算了

TOP

返回列表