执行.bat文件并将其移动到其他文件夹的脚本

问题描述

我有一个程序可以将.bat文件创建到c:\ temp。 我需要创建一个脚本,该脚本在c:\ temp内运行每个.bat文件,并在成功执行后将它们移至c:\ temp \ backup。

我该如何实现? 谢谢

解决方法

以下代码可能是一个很好的起点。

  1. 使用for循环枚举给定目录中扩展名为.bat的文件。
  2. 使用call命令执行。
  3. 使用move命令将文件移动到其他目录。

更新:如注释中所述,我添加了一个基本错误检查调用命令是否成功,并且仅在成功的情况下,我才移动蝙蝠文件。

    @echo off
    set myDir=C:\temp\bats
    set doneDir=C:\temp\bats\done\

    md %doneDir%
    for %%I in ("%myDir%\*.bat") do (
       call %%I
       if %ERRORLEVEL% == 1 (          
            move %%I %doneDir%
       ) else (
            echo "error moving - %errorlevel%"
        )
    )