繁体   English   中英

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

[英]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。

编辑:

目录结构:

这是文件的目录结构。 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.."

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM