batch programmierung

Von: , Frage gestellt am Do, 21. Dez 2000

hallo zusammen
ich möchte ein script schreiben war folgende aufgabe automatisiert
datei 1 mit 20 rechnernamen
datei 2 nimmt datei 1 macht ein "net use " auf den rechner überprüft ob eine bestimmte datei vorhanden ist
schreibt mir das ergebniss in datei 3


batei2.bat < datei-rechnernamen.txt
for %%f in (e:\batch\view.txt) do net use x: \\%%f\c$ & echo %%f >>e:\batch\liste.txt &dir x: >>e:\batch\liste.txt & net use x: /d

soweit bin ich gekommen
was mir probleme macht ist wie kann ich einen for befehl über mehre zeilen eingeben
wie beende ich die for schleife

wie nenne ich meine datei liste.txt um in liste"aktuelles datum".txt
also beispielweise liste-2000-12-21.txt
so das ich die batch über einen AT befehl zeitgesteuert laufen lassen kan

gruß martin

2 Antworten zu dieser Frage

  1. Antwort von nach 17 Stunden hilfreich
    Re: batch programmierung

    Hallo Martin,

    ich würde an Deiner Stelle mit einer zweiten Batchdatei arbeiten. In die schreibst du alle Befehle rein, die du in der Schleife abgearbeitet haben willst. In der Hauptbatch rufst du diese Datei dann mit CALL <hilfs.bat> %%f als Subroutine auf.

    Gruß
    Stefan [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  2. Antwort von nach 2 Tagen hilfreich
    Re: batch programmierung

    N'Abend !

    Ich würd das mal ungefähr so vorschlagen:
    for %%a in (rechnerliste.txt) do if exist \\%%a\c$\pfad\datei echo Bingo ! >> ergebnis.txt soweit bin ich gekommen
    was mir probleme macht ist wie kann ich einen for befehl über
    mehre zeilen eingeben
    wie beende ich die for schleife
    Du kannst - alternativ zu meinem Vorredner - auch einen Call-Aufruf innerhalb der Batch aufrufen, z.B.

    for %%a in (sonstwas) do call :part1 [evtl Variablen] part1
    Befehlsfolge

    -> Die for-Schleife wird automatisch beendet, wenn der "for" nix mehr liefert. wie nenne ich meine datei liste.txt um in liste"aktuelles
    datum".txt
    - wieder mal ungefähr so:
    for /f "tokens=1-3" %%a in ('cmd.exe /c "echo. | time"') do if %%a == Aktuelle set time=%%c
    for /f "tokens=1-4" %%a in ('cmd.exe /c "echo. | date"') do if %%a == Aktuelles set date=%%d
    Damit hast Du in den Variablen time und date alles was Du brauchst und musst es nur noch geeignet zerlegen.
    Alles will ich auch net verraten - Übung macht den Meister ! :o)
    Falls aber noch Fragen sind, kannst Dich gern nochmal melden.

    Merry X-Mas !

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!