Não é possível criar um arquivo em lote para iniciar um segundo .bat

0

Eu tenho esse código

@echo off
cd c:\windows\System32
for /f "skip=3 tokens=1" %%i in ('TASKLIST /FI "USERNAME eq %userdomain%\%username%"     /FI "STATUS eq running"') do (
if not "%%i"=="svchost.exe" (
if not "%%i"=="cmd.exe" (
if not "%%i"=="skype.exe" (
if not "%%i"=="origin.exe" (
if not "%%i"=="chrome.exe" (
echo.
taskkill /f /im "%%i" 
echo.
)
)
)
)
)
) 
pause

correto, e o que eu quero é executar %~dp0start.bat no final de todas as operações. Como fazer isso? Eu tentei o código abaixo, mas não funciona.

pause
goto start

:start
%~dp0start.bat
    
por onupirat 19.01.2013 / 22:01

3 respostas

1

Sua descrição do que você está tentando fazer finalmente tornou o problema claro para mim (provavelmente por que você deve incluir o máximo de detalhes possível na pergunta em si).

Não vamos nem entrar em por que você está fazendo isso, e se é uma ótima idéia matar processos como o dwm.exe ( Desktop Window Manager ), explorer.exe etc. em primeiro lugar.

O seu problema é que você está executando um arquivo de lote que está tentando executar comandos depois de ter forçado a morte do conhost.exe (Console Window Host ) .

Você entende agora por que isso é equivalente a um erro do compilador código inacessível ?

    
por 20.01.2013 / 00:17
0

Estou dando um palpite, já que usei cmd.exe há um ano ...

Colocar "pausa" na frente dos comandos quebra o arquivo, tente adicionar outra "pausa" após o dpstart.bat. Como não há comando de parada no final, ele pula tudo depois do último.

    
por 25.11.2018 / 16:42
-1

Para iniciar o arquivo, digite:

start %~dp0start.bat

Se% ~ dp0start.bat não estiver no mesmo diretório do arquivo com o qual você está tentando iniciá-lo, fingir que% ~ dp0start.bat está em C: \ Users \ Adam \ file \

tipo:

cd "C:\Users\Adam\file\"

start %~dp0start.bat

espero ter ajudado você

    
por 20.04.2013 / 04:12

Tags