2016-10-13 7 views
0

Я пытаюсь запустить простую команду переименования для переименования файла .html в файл «.htm» в виде пакетного файла. Ниже моя команда:Переименование файла с помощью пакетного запуска в пакете обертки

ren index.html index.htm 

Это, кажется, работает нормально, как часть CopyFiles.bat. Проблема возникает, когда я пытаюсь запустить это как часть пакетной оболочки WrapAll.bat. Файл будет переименован, но регистрируется следующее сообщение об ошибке:

The system cannot find the path specified. 

Может кто-то пожалуйста, помогите понять, почему я получаю эту ошибку при попытке запустить CopyFiles.bat внутри WrapAll.bat. Это влияет на последующие команды, поскольку я проверяю, что% errorlevel% равен 0, и я получаю% errorlevel% как 1 из этой команды.

Edit:

Структура каталогов:

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% 
+1

Вы не упомянуть, что WrapAll.bat находится в родительском каталоге. Но если бы вы знали, что это относится к проблеме, вы бы тоже смогли найти решение. – CodeCaster

+0

Привет, я обновил вопрос с каталогами. Относительно новый для пакетного сценария, поэтому мне еще предстоит многому научиться :) –

+1

почему бы вам не опубликовать хотя бы соответствующий код ваших пакетных файлов? Как может кто-нибудь представить, что происходит? – elzooilogico

ответ

0

После 2 часов повторного запуска сценария, я наконец-то нашел этот вопрос, его не переименование, но команда кд после этого вызывает проблему.

cd "%~dp0..\Code" 

должен быть

cd "%~dp0.." 
+0

Возможно, добавьте ключ '/ D' в команду' cd', потому что иначе он не изменит каталог, если он находится на другой привод ... – aschipfl

+0

@aschipfl, спасибо. это отличное предложение! Я добавлю переключатель –