我在目录中有很多XML文件另存为.Metadata文件。我需要将这些文件移动到数据来自的记录的位置(它们存在于单独的目录和子目录中)。原始文件所在的位置位于标签中嵌套的.Metadata文件中。我不知道我在做什么。我正在尝试快速学习事物,但不幸失败了。我发现一个.BAT文件似乎可以完成我想做的事情,但似乎无法使其工作。
@ECHO OFF
SETLOCAL
FOR %%f IN (*.metadata) DO (
(SET destdir=)
FOR /f "tokens=2delims=<>" %%i IN (
'find "</physloc>" ^<%%f'
) DO SET destdir="%%i"
IF DEFINED destdir CALL :moveme %%f
)
GOTO :eof
:moveme
ECHO MOVE %1 "%destdir%"
GOTO :eof
我一直在获取,系统找不到指定的文件,错误。
以下是.Metadata文件的示例,其中包含原始文件的位置:
<?xml version="1.0" encoding="UTF-8"?>
<archdesc label="item">
<unitid>SAS 7875</unitid>
<unittitle>Workforce Transformation, Subject Files</unittitle>
<recordtitle>052115Wkgrp Agenda.docx</recordtitle>
<recordtype>File</recordtype>
<extent>240273</extent>
<origination label="Creator">Morrison, Christine</origination>
<agency>Office of the Governor</agency>
<unitdate label="Last Modified">2015-05-08</unitdate>
<accessionnumber>2019-023</accessionnumber>
<physloc label="Directory">D:\SAS_7875_Kasich_WorkforceTransformation_SubjectFiles\Christine.Morrison\GEWB Education and Training Work Group\052115Wkgrp Agenda.docx</physloc>
</archdesc>