2012-08-27 3 views
1
@echo off 
goto start 
:start 

if exist console.ccmf (
PAUSE 
ren console.ccmf console.bat 
ping 123.45.67.89 -n 1 -w 500 > nul 
START /wait console.bat 
ren console.bat console.ccmf 
goto exit 
) 

정말 vbs 스크립트를 사용하지 않고 이것을 할 방법을 찾고 싶어요. 당신을 채우는 것만으로 ... 프로그램의 이름을 바꾼 다음 프로그램을 시작하는 프로그램입니다. 목표는 그 파일이 닫히고 바뀌었을 때의 이름으로 되돌아갑니다.배치 파일을 다른 배치 파일을 기다리는 방법 다음 파일의 나머지 부분을 계속

+0

무엇이 잘못 되었나요? 잠시 멈춤을 제거하십시오. 원하는 경우 ping을'choice/t 10/d y> nul'으로 바꿀 수 있습니다. 그것은 10 초 동안 기다릴 것입니다. 단지'10'을 멈추고 자하는 초로 대체하십시오. 그리고'> nul'은 모든 출력을 숨기므로 화면에 아무런 잡음이 없습니다. –

+0

예, 프로그램 종료시 프로그램 "종료 일괄 작업 (Y/N)"을 말하고 Y 또는 N을 수행하면 프로그램을 닫고 계속하지 않음 –

답변

0

CALL 기능을 사용하십시오. Start은 실제로 창 프로그램을 시작하기위한 것이며 다른 콘솔을 열며 CALL은 이미 열려있는 하나의 콘솔 창에 있습니다.

@echo off 
goto start 

:start 
if exist console.ccmf (
    PAUSE 
    ren console.ccmf console.bat 
    ping 123.45.67.89 -n 1 -w 500 > nul 
    CALL console.bat 
    ren console.bat console.ccmf 
    goto exit 
) 
+0

잠깐 만요 작동하지 않는다는 것을 깨달았습니다. @James K –

+0

Ok 프로그램이 정상적으로 종료되었지만 f4를 변경하거나 닫기 버튼을 누르면 코드가 실행되지 않습니다 –

+0

@ user1628565 ALT-F4 또는 버튼을 닫으시겠습니까? 이들 중 어느 것도 배치 프로그램을 끝내는 적절한 방법이 아니며 "배치 작업 종료 [Y/N]"이유에 대해 설명하십시오. 나는 당신이'PAUSE' 명령으로 이것을한다고 가정합니다. 예? 그 대신에,'% errorlevel % == 1 goto exit' 또는''set/p input = ENTER ''를 계속하거나 'Q + [ENTER]'를 눌러 종료하십시오. [, Q]''if "% input %"== "Q"exit exit'. –

관련 문제