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