2012-02-16 2 views
0

Проблема в том, что он вызывает исходный файл beamthemup2.bat, а не тот, который был скопирован.Запуск неправильного командного файла после копирования другого в папку

@ECHO OFF 
for /d %%X in (*) do (
    copy "beamthemup2.bat" "%%X" 
    @echo "%%X\beamthemup2.bat" 
    pause 
    call "%%X\beamthemup2.bat" 
) 

UPDATE

Это второй файл летучей мыши. Кажется, он копирует и запускает правильный командный файл. Вот проблема. При запуске вышеуказанного командного файла сначала% cd% возвращает путь к первому пакетному файлу, однако, если я запустил второй сам по себе в папке, которую я хотел скопировать,% cd% возвращает правильную папку.

@ECHO OFF 
for /r %%X in (*) do (

    "c:\Program Files\7-Zip\7z.exe" a -tzip "%cd%" "%%X" 
    @ECHO %cd% 
    pause 

) 

ответ

3

Ваш текущий рабочий каталог по-прежнему является каталогом, из которого был запущен первый командный файл. Запуск второго командного файла не изменяет рабочий каталог.

Попробуйте добавить cd %~dp0 к вашему второму пакетному файлу (после @ECHO OFF). Это будет cd в каталоге, в котором находится командный файл.

+0

Это отлично работает, спасибо за помощь :) – bounce

+1

Отлично! Пожалуйста, отметьте ответы, если это приемлемо. Благодарю. – Nomad101

Смежные вопросы