首页 > 解决方案 > 执行 .bat 文件并将它们移动到不同文件夹的脚本

问题描述

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

我怎样才能做到这一点?谢谢

标签: batch-filecmd

解决方案


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

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

更新:正如评论中所建议的,如果调用命令成功,我添加了一个基本的错误检查,并且只有在成功的情况下,我才会移动 bat 文件。

    @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%"
        )
    )

推荐阅读