Mas recebo os seguintes erros
echo off
set arg1=%1
shift
start /wait D:\>Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test map arg1=%1
start /wait D:\>Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test compare arg1=%1
start /wait D:\>Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test analyse arg1=%1
start /wait D:\>Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test update arg1=%1
pause
Seu script tem muitos erros:
-
set arg1=%1
arg1
é definido e nunca mais usado. -
shift
Por que você está mudando? Não há necessidade de.
-
start /wait D:\>Drop\Debug\Ylp.Web.CmsImportWebJob.exe
D:\>
é o seu prompt de comando e não faz parte do comando -
arg1=%1
Por que você está fazendo isso? O que você acha que conseguirá?
Solução
Tente o seguinte arquivo de lote (doit.cmd):
@echo off
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test map %1
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test compare %1
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test analyse %1
start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test update %1
pause
Chame da seguinte forma:
doit 353c8be4-d3ca-4c92-96ee-ea14933f54fa
Existe alguma maneira que eu possa clicar no arquivo bat e ter permissão para entrar na entrada?
Use set /p
-
A opção
/p
permite que você defina uma variável igual a uma linha de entrada inserida pelo usuário.A sequência Prompt é exibida antes da entrada do usuário ser lida.
@echo off set /p guid=Please enter GUID: start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test map %guid% start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test compare %guid% start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test analyse %guid% start /wait Drop\Debug\Ylp.Web.CmsImportWebJob.exe /test update %guid% pause
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- parâmetros - Um argumento de linha de comando (ou parâmetro) é qualquer valor passado para um script em lote.
- definir - Exibir, definir ou remover variáveis de ambiente do CMD. As alterações feitas com o SET permanecerão apenas pela duração da sessão atual do CMD.