将.Metadata文件移动到匹配的记录

时间:2019-06-12 15:45:52

标签: batch-file move

我在目录中有很多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>

0 个答案:

没有答案