모든 IP 주소를 텍스트 파일로 핑 (Ping) 하시겠습니까?


9

여기에 컴퓨터 이름이있는 텍스트 파일이 있다고 가정 해 보겠습니다 (각 줄 == 1 이름).

computerA
computerB
computerC
...

이러한 컴퓨터를 모두 핑하는 배치 파일을 만들 수 있습니까? 실제로 핑은 큰 출력입니다. 나는 time다른 정보 가 필요하지 않습니다 . 나는 단지 도달 할 수 있는지 알고 싶습니다. 어떤 아이디어?


지금 작동합니다! 문제는 여우가 말한 것처럼 배치 파일의 이름을 ping.bat핑 으로 지정 했으며 ping도 명령이므로 작동하지 않습니다. 배치 파일의 이름을 바꾸었고 이제 모든 것이 정상입니다.


1
상기 봐 for명령, 특히 파일을 구문 분석 모드.
Damien_The_Unbeliever

답변:


12

이 시도:

@echo off
for /f "delims=" %%a in (computerlist.txt) do ping -n 1 %%a >nul && (echo %%a ok) || (echo %%a failed to respond) 
pause

공백이나 홀수 문자로 파일 이름이나 경로를 사용해야하는 경우 대신 (computerlist.txt)사용하십시오( ' type "c:\folder\computer file.txt" ' )


cmd가 매우 빨리 나타나는 것을 보았습니다. 끝에 일시 중지 또는 절전 모드가 있어도 출력이 표시되지 않습니다.
sabisabi

OK 응답이 포함 된 위의 편집 된 코드를 사용해보십시오.

전혀 변화가 없습니다. 이상합니다. 텍스트 파일에 게시 한 그대로 똑같은 코드를 복사합니다 (파일 이름을 변경하십시오). 모든 출력. win xp를 사용하고 있는데 이것이 문제가 될 수 있습니까?
sabisabi

경로 \ 파일 이름에 공백이 포함되어있을 수 있습니다. (computerlist.txt) 대신 ( 'type "c : \ folder \ computer file.txt"')를 사용하십시오

3
그게 네 실수 야 배치 파일의 이름을 지정할 때는 항상 명령 이름을 사용하지 않아야합니다. 귀하의 경우 배치 파일 내부의 ping 명령이 ping 명령이 아닌 ping 배치 파일을 실행 중입니다.

4
@Echo OFF

For /F "Usebackq Delims=" %%# in (
    "List.txt"
) do (
    Echo+
    Echo [+] Pinging: %%#

    Ping -n 1 "%%#" 1>nul && (
        Echo     [OK]) || (
        Echo     [FAILED])
)

Pause&Exit

산출:

[+] Pinging: www.google.com
    [OK]

[+] Pinging: ffff
    [FAILED]

.bat를 시작하면 [+] Pinging : computerA 출력이 표시되지만 창이 사라집니다.
sabisabi

몇 가지 변경 사항없이 그대로 내 스크립트를 보냈습니까?
ElektroStudios

글쎄, 나는 파일의 이름을 변경했지만 그게
다야

@sabisabi : 기존 명령 프롬프트에서 "수동으로"배치 파일을 시작하면 오류 메시지를 읽을 수 있습니다. 테스트해야하는 배치 파일을 "두 번 클릭"하지 마십시오.
a_horse_with_no_name

cmd (ping.bat)를 통해 .bat 파일을 시작하면 @a_horse_with_no_name-> 새 창이없고 메시지가없이 cmd가 종료됩니다.
sabisabi

1

살펴볼 대안은 PowerShell을 사용하는 것입니다.

cls;
ForEach ($targetComputer in (Get-Content C:\installs\computerlist.txt)) {
    if (Test-Connection -ComputerName $targetComputer -Count 1 -Quiet) {
        "$targetComputer - Ping OK"
    } else {
        "$targetComputer - Ping FAIL"
    }
}

C : \ Installs \ ComputerList.txt의 상수를 바꾸십시오.

여기에 이미지 설명을 입력하십시오


0

ping에 ip를 설정하고 최대 12 개의 cmd 창을 만들어 화면에 나란히 놓는 구성 파일을 사용하는 ping 도구를 만들었습니다. 각 창에는 제목과 구성 파일에 대한 설명이 있습니다.

화면 크기를 자동 감지하지만 현재 1920x1080 및 1600x900 만 지원합니다. 그래도 더 많은 해상도를 수동으로 만들 수 있습니다. 정보는 credits.txt를 참조하십시오.

HellFires Pingtest v1.0


0

비슷한 작업을 돕기 위해 내가 개발 한 도구-ccmd를 사용하려고 시도하고 여러 대상에 대해 터미널 명령을 실행하며 대상은 csv 텍스트 파일에 다음과 같이 제공 될 수 있습니다.
#this is comment line
#target, description, command (default-ping)
8.8.8.8
1.1.1.1
#in 아래 명령 {target}은 8.8.4.4
8.8.4.4, Google DNS, ping -n 1 -w 500 {target}
192.168.1.0/30 으로 대체됩니다 . my 서브넷
bbc.com, 이것은 bbc 뉴스 사이트입니다

위의 파일을 name.txt에 저장하고 -s 옵션으로 스크립트를 지정하십시오. 기본적으로 다른 명령이 없으면 ping 명령이 실행됩니다.
다음과 같이 실행하십시오 :
ccmd.exe -s name.txt -b 10 -c 30
은 다음과 같은 출력을 나타냅니다 : https://i.stack.imgur.com/23zxQ.png

스크립트는 파이썬으로 작성되었지만 ccmd.exe vesion이 있으며 Windows에서 직접 실행할 수 있습니다. 기본적으로 details 명령은 ./LOG/ 폴더에 저장된 출력을 기록합니다.

출처 : https://github.com/apraksim/ccmd

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.