executando um programa em um subdiretório

0

Digamos que meu diretório de trabalho atual seja C:\Users\neubert\Documents\ ou algo assim. Digamos também que eu tenha um subdiretório nesse diretório - subdir - e um arquivo nesse subdiretório - filename.exe .

Quando estou em C:\Users\neubert\Documents\ com cmd e, em seguida, faço subdir\filename , recebo um erro The system cannot find the path specified. .

Portanto, não é possível executar programas dentro de subdiretórios com cmd ?

    
por neubert 11.02.2016 / 17:59

1 resposta

0

Quando você inicia um programa com cmd , seu diretório atual é definido como o caminho que você vê no prompt de comando. Estou quase certo de que o programa em questão tem alguma dependência em outro arquivo em seu diretório de residências, que neste caso não é não seu diretório atual, por isso não pode encontrar o arquivo. Se o programa não existisse, você veria algo assim:

'sub\blargh.exe' is not recognized as an internal or external command,
operable program or batch file.

Você pode provar que o diretório atual é diferente, criando um arquivo de lote denominado loc.bat em uma pasta chamada test , contendo echo %CD% . Quando você executá-lo com test\loc do diretório pai, você verá o diretório do prompt de comando, não aquele que contém o script.

É certamente possível iniciar programas em outras pastas, mas é necessário ter cuidado com o diretório atual deles. Para iniciar um programa em um determinado diretório, você pode usar start /b /wait /d folder program . Se eu precisasse fazer isso com frequência, eu poderia fazer um arquivo de lote contendo start /b /wait /d %1 %2 e colocá-lo no meu PATH .

    
por 11.02.2016 / 18:13