Background cmd A janela do console não fecha automaticamente

0

Eu uso abaixo do código para abrir um aplicativo. A Lista de PC tem uma lista de todos os endereços IP dos PCs remotos que eu quero executar o programa e um IP fictício 0.0.0.0 para ativar a execução do programa no mestre .

@echo off
setlocal enableextensions enabledelayedexpansion
st b="C:\Program Files\TeamViewer\TeamViewer.exe"
For %%B in (%b%) do (
    Set c=%%~dpB
    Set d=%%~nxB
)
for /f "tokens=*" %%a in (C:\COST\PCList.txt) do (
IF %%a equ 0.0.0.0 (
cd %c%
"%d%"
) ELSE (
ping %%a -n 1 -w 100
IF errorlevel 1 (
ECHO REMOTE %%a IS NOT REACHABLE
) else (
psexec \%%a -i -d -s cmd /c cd %c%
psexec \%%a -i -d -s cmd /c "%d%"
)
)
)

Meu problema é que, quando executo o arquivo de lote acima, o aplicativo é aberto e também um console cmd vazio é aberto em segundo plano no mestre, bem como em computadores escravos. Ele não fecha até que eu feche o aplicativo * (neste caso Teamviewer) * ou diretamente a janela do console.

Existe alguma maneira de fechar automaticamente a janela do console?

    
por Dragonborn 17.02.2015 / 09:48

1 resposta

0

Eu encontrei a resposta. Eu mudei a codificação como abaixo atualizei um e funciona como eu queria. O truque era usar start abaixo da sintaxe para executar o aplicativo e fechar o console usando exit .

@echo off
setlocal enableextensions enabledelayedexpansion
st b="C:\Program Files\TeamViewer\TeamViewer.exe"
For %%B in (%b%) do (
    Set c=%%~dpB
    Set d=%%~nxB
)
for /f "tokens=*" %%a in (C:\COST\PCList.txt) do (
IF %%a equ 0.0.0.0 (
cmd /s /k "cd %c% && start "" "%d%" && exit"
) ELSE (
ping %%a -n 1 -w 100
IF errorlevel 1 (
ECHO REMOTE %%a IS NOT REACHABLE
) else (
psexec \%%a -i -d -s cmd /s /k "cd %c% && start "" "%d%" && exit"
)
)
)
    
por 19.02.2015 / 10:05