在包装器批处理中使用批处理 运行 重命名文件

Renaming a file using batch running in a wrapper batch

我正在尝试 运行 一个简单的重命名命令,用于将“.html”文件重命名为“.htm”文件作为批处理文件。以下是我的命令:

ren index.html index.htm

作为 CopyFiles.bat 的一部分,这似乎 运行 很好。当我尝试将其 运行 作为批处理包装器 WrapAll.bat 的一部分时,问题就来了。文件已重命名,但记录了以下错误:

The system cannot find the path specified.

有人可以帮助理解为什么我在 WrapAll.bat 中尝试 运行 CopyFiles.bat 时会收到此错误。这会影响后续命令,因为我正在检查 %errorlevel% 是否为 0,并且我从该命令中得到 %errorlevel% 为 1。

编辑:

目录结构:

This is the directory structure for the files. CopyFiles.bat/WrapAll.bat 在 Coverage\Scripts 中,index.html 在 Coverage\Code\Coverage_2

CopyFiles.bat:

    cd %~dp0

    call :DoThis

    cd "%~dp0..\Code\Coverage_2"
    if exist "index.htm" del "index.htm" /f /s /q
    ren index.html index.htm

    cd "%~dp0..\Code"
    if %errorlevel% equ 0 (
     ECHO "Do Something here"
    )
    exit /b %errorlevel%

    :DoThis
    ECHO "Doing this"
    exit /b %errorlevel%

WrapAll.bat:

    set logPath="%~dp0ErrorLog_%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%.log"

    cd %~dp0
    call "CopyFiles.bat" 2>>%logPath%

经过 2 小时的重新运行 脚本,我终于找到了问题所在,不是重命名而是之后的 cd 命令导致了问题。

cd "%~dp0..\Code"

应该是

cd "%~dp0.."