在包装器批处理中使用批处理 运行 重命名文件
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.."
我正在尝试 运行 一个简单的重命名命令,用于将“.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.."