Pergunta

Existe uma maneira de passo através de um script .bat? A coisa é, eu tenho um script de construção, o que exige uma grande quantidade de outros scripts, e eu gostaria de ver o que é a ordem em que eles são chamados, para que eu possa saber onde exatamente eu tenho que ir sobre e adicionar minhas modificações .

Foi útil?

Solução

Eu não sei de qualquer maneira para o passo através da execução de um arquivo .bat, mas você pode usar echo e pause para ajudar com a depuração.

ECHO
Ecoará uma mensagem no arquivo de lote. Tais como ECHO Olá Mundo irá imprimir Olá Mundo na tela quando executado. No entanto, sem @ECHO OFF no início do arquivo em lotes que você também obter "ECHO Olá Mundo" e "Olá Mundo". Finalmente, se você só gostaria de criar uma linha em branco, escreva ECHO. adicionando o período no fim cria uma linha vazia.

PAUSA
Solicitar que o usuário pressione qualquer tecla para continuar.

Fonte: Batch File Ajuda

@ workmad3:. Resposta tem mais boas dicas para trabalhar com o comando echo

Outro recurso útil ... DDB: DOS Dicas Batch arquivo

Outras dicas

Certifique-se de que não há são 'echo off' declarações nos scripts e chamadas 'eco em' depois de chamar cada script para redefinir qualquer você perdeu.

A razão é que, se o eco é mantido, então a vontade interpretador de comandos de saída de cada comando (após o processamento do parâmetro) antes de executá-lo. Faz com que pareça muito ruim para uso em produção, mas muito útil para fins de depuração como você pode ver onde a produção tem errado ido.

Além disso, certifique-se de que você está verificando os ERRORLEVELs estabelecidos pelos chamados scripts e programas em lote. Lembre-se que existem 2 métodos diferentes usados ??em arquivos .bat para isso. Se você chamou um programa, o nível de erro é em% ERRORLEVEL%, enquanto de lote arquivos o nível de erro é retornado na variável ErrorLevel e não precisa% é em torno dele.

Diante de preocupação semelhante, achei o seguinte ferramenta com uma busca trivial Google:

O JPSoft " Assuma o comando " inclui um IDE arquivo de lote / depurador. Sua vídeo de apresentação curta demonstra-lo muito bem.

Eu estou usando a versão experimental desde algumas horas. Aqui é a minha primeira humilde opinião:

  • De um lado, ele realmente permite depuração .bat e .cmd roteiros e eu agora estou convencido de que ele pode ajudar em algum casos
  • Por outro lado, às vezes blocos e eu tive que matá-lo ... especialmente quando a depuração subscritos (nem sempre sistematicamente) .. ele não mostra uma "pilha de chamadas", nem um "passo para fora" botão.

É deverves uma tentativa.

Eu encontrei 'correndo passos' (win32) software fazendo exatamente o que eu estava procurando: http://www.steppingsoftware.com/

Você pode carregar um arquivo bat, breakpoints lugar / start percorrendo-o ao ver as variáveis ??de saída e meio ambiente.

A versão de avaliação só permite a passo através de 50 linhas ... Alguém tem uma alternativa livre com funcionalidade semelhante?

rem o @ECHO OFF e chame o arquivo de lote redirectin saída ALL para um arquivo de log ..

c:> yourbatch.bat (parâmetros opcionais)> yourlogfile.txt 2> & 1

http://www.robvanderwoude.com/battech_debugging.php

FUNCIONA !! não se esqueça do 2> & 1 ...

WIZ

A única maneira que eu posso pensar é spinkle o código com echos e pauses.

Você tentou redirecionar o resultado para um arquivo? Como whatever.bat> log.txt

Você tem que ter certeza de que, neste caso, todos os outros chamados script também está registrando para o arquivo como >> log.txt

Além disso, se você colocar uma data / T e tempo / T no início e no final desse arquivo de lote, você obterá as vezes era naquele momento e você pode mapear o seu script tempo de funcionamento ea ordem.

Ou .... Ligue para o seu arquivo .bat principal de outro arquivo .bat e saída o resultado para um ou seja arquivo de resultado.

runner.bat> mainresults.txt

Onde runner.bat chama o arquivo .bat principal

Você deverá ver todas as ações realizadas no arquivo .bat principal agora

ou, abra uma janela cmd, em seguida, chamar o lote a partir daí, a saída será na tela.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top