我有一个文本文件,作为批处理脚本的一部分进行处理,以便存储在文档管理系统中。它类似于XML,但略有不同(某些专有格式)。 无论如何,我的文本文件如下所示:
[BREAKDOC]
[Y:PDF]
[S:WORM]
[C0:20110331]
[C1:AC7100P]
[C2:ACH FILE EDIT LISTING]
[ENDBREAK]
C:\COLD\PROC\AC7100P.PDF
[BREAKDOC]
[Y:PDF]
[S:WORM]
[C0:20110331]
[C1:AT4550P]
[C2:ATM AP MAINTENANCE REPORT BY TIME]
[ENDBREAK]
C:\COLD\PROC\AT4550P.PDF
[BREAKDOC]
[Y:PDF]
[S:WORM]
[C0:20110331]
[C1:CD1640P]
[C2:CD TRIAL BALANCE]
[ENDBREAK]
C:\COLD\PROC\CD1640P.PDF
我需要的是一个vbscript或类似的东西可以查看文件,无论它在哪里看到C0值 - 它始终是YYYYMMDD格式的日期值,它将添加具有相同日期的D值,只有MMDDYYYY格式化。 像这样:
[BREAKDOC]
[Y:PDF]
[S:WORM]
[D:03312011]
[C0:20110331]
[C1:AC7100P]
[C2:ACH FILE EDIT LISTING]
[ENDBREAK]
C:\COLD\PROC\AC7100P.PDF
[BREAKDOC]
[Y:PDF]
[S:WORM]
[D:03312011]
[C0:20110331]
[C1:AT4550P]
[C2:ATM AP MAINTENANCE REPORT BY TIME]
[ENDBREAK]
C:\COLD\PROC\AT4550P.PDF
[BREAKDOC]
[Y:PDF]
[S:WORM]
[D:03312011]
[C0:20110331]
[C1:CD1640P]
[C2:CD TRIAL BALANCE]
[ENDBREAK]
C:\COLD\PROC\CD1640P.PDF
这可以用简单的vbscript完成吗?
答案 0 :(得分:1)
试试这个批处理文件
@echo off
setlocal enabledelayedexpansion
for /F %%a in (%1) do (
set c=%%a
set c0=!c:~1,2!
if .!c0!==.C0 (
set yyyy=!c:~4,4!
set mm=!c:~8,2!
set dd=!c:~10,2!
echo [D:!mm!!dd!!yyyy!]
)
echo !c!
)
有关详细信息,请阅读HELP SET