如何创建批处理文件来处理目录中的XML文件?

时间:2019-01-31 13:19:10

标签: batch-file

如何将当前的批处理转换为在单独的目录中处理许多xml文件?我当前的批处理文件仅处理1个具有特定名称的文件。如何将名称设为变量?

我有一个包含多个XML文件的目录。我需要将一个批处理文件转到该目录并获取一个XML文件。它运行一个可执行文件,并将文件名传递给它。可执行文件返回错误代码,然后根据返回的代码删除文件(如果成功,则将文件删除(错误级别等于0),错误1-7-将其复制到BAD目录,并且代码8和9离开文件文件,请稍后再试。

现在,我只有一个文件,该文件始终被命名为相同文件,并且位于不同的目录中。我使用批处理文件之外的专有脚本语言来复制和删除文件。

这是我们今天运行的ACTUAL批处理文件(对还是错)

path=c:\14828\TDM
cd c:\14828\TDM
echo 

UploadXmlTestResults.exe C:\14828\TDM\TDM_XML_FILE.xml
exit %errorlevel%

1 个答案:

答案 0 :(得分:1)

您可以通过几种方法来处理错误级别(请参见if /?
在您的用例中,传统的if errorlevel #(表示检查或更大的检查)是最好的。

@Echo off
pushd "c:\14828\TDM" || (Echo couldn't find path&pause&goto :eof)
set BadDir="X:\path\to\bad\"

for %%A in (*.xml) Do Call :Upload "%%~fA"
Echo done
pause
popd
Goto :Eof

:Upload 
UploadXmlTestResults.exe %1
if errorlevel 8 Exit /B
if errorlevel 1 Copy %1 %BadDir%