Ping Batch file

Corioc

Grünschnabel
Hi ich hab da ein Proble. Ich möchte das meine Batch file (.bat) eine Textdate pingt.

z.B. In einer Textdatei Name "ips.txt" sind mehrere Ip drin die gepingt werden sollen. Nun habe ich hier schon ein versuch gestartet. aber ich hätte es gerne so wie ich es schon gesagt hab. Wer hälfen kann Danke im vorraus.

Versuch:
Code:
cls
@echo off
: ping

@echo Ziel IP eingeben

set /p ip=

ping %ip%

set ip=

@pause
cls
goto choice

cls

goto choice

Ich weiss das, dass nicht richtig. Also nochmal es sollen dann z.B. wenn ich auf die Batch file klicke die bat gleich die txt öffnen und alle ip anpingen und die, die gingen in einer anderen txt speichern.
 
und wieder ein grenzfall wo man mit batchfiles net mehr viel machen kann....

machs mit net C progy...
Code:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv) {
    FILE* file;
    char ip[20];
    char command[100];
    if(argv < 2) {
        printf("nicht genug parameter");
        return 1;
    }
    file = fopen(argv[1], "r");
    if(file == NULL) {
        printf("datei nicht gefunden");
        return 2;
    }
    while(!feof(file)) {
        memset(ip, 0, 20);
        fgets(ip, 20, file);
        sprintf(command, "ping %s\n", ip);
        system(command);
    }
    return 0;
}
damit sollte es eigendlich gehen, einfach durch nen C / C++ compiler jagen und schon funktionierts...

[edit] - das ganze mal eben in code tags gesetzt [/edit]
 
Zuletzt bearbeitet:
Kommt ein bischen spät...hab was mit Batch gefunden:

Code:
cls
@echo off
if "%1" == "" (
echo iplist.txt 
) ELSE (
FOR /F "eol=; tokens=1" %%a in (%1) do ping %%a >> pingresult.txt
echo fertig
)

In der Datei iplist.txt schreibst du untereinander die IP's die angepingt werden sollen. In der Datei pingresult.txt hast du die Ergebnisse (habe vorsichts halber mal selber die Datei erstellt, weiss nicht ob sie automatisch erstellt werden würde)
 
chibisuke hat gesagt.:
und wieder ein grenzfall wo man mit batchfiles net mehr viel machen kann....

machs mit net C progy...
Code:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv) {
    FILE* file;
    char ip[20];
    char command[100];
    if(argv < 2) {
        printf("nicht genug parameter");
        return 1;
    }
    file = fopen(argv[1], "r");
    if(file == NULL) {
        printf("datei nicht gefunden");
        return 2;
    }
    while(!feof(file)) {
        memset(ip, 0, 20);
        fgets(ip, 20, file);
        sprintf(command, "ping %s\n", ip);
        system(command);
    }
    return 0;
}
damit sollte es eigendlich gehen, einfach durch nen C / C++ compiler jagen und schon funktionierts...

[edit] - das ganze mal eben in code tags gesetzt [/edit]

ich habe auch so ein ähnliches programm geschrieben, nur möchte ich gerne das er das resulatat vom ping versuch in eine txt datei speichert.

nun stehe ich aber vor dem problem wie man den system befehl in einem strin umwandeln soll!?

weil wenn ich fprintf(gOutFp, "%s", command); schreibe, schreibt er nur den ping befehl in die text datei (ist ja klar) aber wenn ich statt command system(command) schreibe hängt sich das programm immer auf....

bitte um eure hilfe.
 
Kommt ein bischen spät...hab was mit Batch gefunden:

Code:
cls
@echo off
if "%1" == "" (
echo iplist.txt 
) ELSE (
FOR /F "eol=; tokens=1" %%a in (%1) do ping %%a >> pingresult.txt
echo fertig
)

In der Datei iplist.txt schreibst du untereinander die IP's die angepingt werden sollen. In der Datei pingresult.txt hast du die Ergebnisse (habe vorsichts halber mal selber die Datei erstellt, weiss nicht ob sie automatisch erstellt werden würde)

Hallo.
Hier wird ja eine Zeile bis zu ihrem Ende ausgelesen. Wie teile ich einen String aus einer Variable in zwei Teile, nämlich in den Teil vor z.B. "+" und nach "+"?
Das Beispiel sieht dann so aus:
Variable z: "12+4"
Die Variable z soll zu x und u gemacht werden, also x="12" und u="4"
Geht das dann so?
Code:
FOR /F "eol=+" tokens=1" %%a in (%z) do ...
 
Zurück