1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Software und Anwendungen
  3. Betriebssysteme

Windows Batchfiles erstellen

    • Windows
  • hajaj
  • 28. Dezember 2003 um 23:16
  • Unerledigt
  • hajaj
    4
    hajaj
    Mitglied
    Punkte
    100
    Beiträge
    14
    • 28. Dezember 2003 um 23:16
    • #1

    Ich bin auf der Suche nach einem Tutorial oder Manual dass mir beibringen soll, wie man Windows Batchfiles schreibt. (eh nur so 0815 Aktionen wie Dateien verschieben/kopieren oder löschen)

    Hab schon bei Google&Co. gesucht, aber leider nichts ordentliches gefunden. :frowning_face:

  • TomasBerger
    3
    TomasBerger
    Mitglied
    Punkte
    45
    Beiträge
    8
    • 28. Dezember 2003 um 23:52
    • #2

    Hi!

    Ich weiss es hilft dir nichts, aber nur mal sone Frage:

    Was sind Batchfiles?? :winking_face:
    Ich kenn nur "Batchrender" aus Maya, damit kann man viele Frames rendern, aber ansonsten...

    Bye,
    Tomas

  • beefy
    13
    beefy
    Mitglied
    Reaktionen
    18
    Punkte
    1.683
    Beiträge
    304
    • 29. Dezember 2003 um 00:06
    • #3

    http://www.labmice.net/scripting/default.htm scheint gute Texte zum Thema Batchprogrammierung unter Windows zu haben, ebenso http://www.onesmartclick.com/programming/batch-files.html. Hilfe zu den einfachen Kommandos findest du in der Eingabeaufforderung selbst (z.B. "move /?"). Ansonsten, use the google-force, Luke.


    Zitat von TomasBerger

    Was sind Batchfiles?? :winking_face:

    Batchfiles findest du unter DOS und Windows. Sie entsprechen den Shellscripts unter Unix/Linux. Sie haben klassischerweise die Dateiendung ".bat" und bestehen ganz einfach aus Kommandos (z.B. copy, move oder del), die der Reihe nach abgearbeitet werden. Es gibt auch einfache Schleifen wie "for" und Verzweigungen wie "if". Außerdem sind "goto"-Anweisungen sehr beliebt. (Auch hier gibts per "for /?", "if /?", usw. Hilfe!)

    Unter Windows gibt es mit VBScripts und WSH-Files noch andere (mächtigere) Möglichkeiten, solch kleine Scripts zu schreiben.

  • hajaj
    4
    hajaj
    Mitglied
    Punkte
    100
    Beiträge
    14
    • 29. Dezember 2003 um 10:54
    • #4

    thx für die tollen Links!

    Trotz alledem weiß ich jetzt leider noch nicht wie ich folgendes machen soll.

    Und zwar will ich alle Dateien, die im selben Verzeichnis mit der Batchdatei liegen (+ Unterverzeichnisse) mittels des Batchfiles in ein anderes Verzeichnis meiner Wahl kopieren (das Batchfile soll quasi "fragen" wo die Dateien hinkopiert werden sollen).

    Ich hoffe ihr könnts mir da rasch helfen.

    thanks, haj :)

  • Primenumber
    11
    Primenumber
    Mitglied
    Reaktionen
    2
    Punkte
    1.122
    Beiträge
    218
    • 29. Dezember 2003 um 13:05
    • #5

    Wenn du wirklich nur kopieren willst, reicht folgender Befehl:

    C:\From>xcopy *.* C:\To /s

    Die Option /e (statt /s) kopiert auch leere Unterverzeichnisse. Wenn das trotzdem in ein Batchfile hinein soll, sieht es so aus:

    echo off
    xcopy *.* %1 /s

    %1 ist dann der erste Parameter den man übergibt, soll heißen aufrufen würde man die Batchdatei so (ich nenn die Datei mal copier.bat)

    copier C:\To

    Diese Variante verlangt dass das Batchfile im selben Verzeichnis liegt (und wird vermutlich mitkopiert). Aber es ist ja kein Problem auch die Quelle als Parameter anzugeben ..

    Aber wie beefy schon sagte, bei größeren Vorhaben ist der WSH schon besser. (Versuch mal jemand in der cmd mit for-Schleifen und move ganze Verzeichnisbäume zu verschieben!!)

  • hajaj
    4
    hajaj
    Mitglied
    Punkte
    100
    Beiträge
    14
    • 29. Dezember 2003 um 19:52
    • #6
    Zitat von Dave2003


    copier C:\To


    Ok, das ist ja schon mal sehr schön. Ich bräuchte das Batch-File aber in folgender Form:
    Ich starte copier (ohne den Parameter des Zielverzeichnisses) und erst dann fragt mich der Computer nach dem Zielverzeichnis und kopiert die Daten anschließend dort hin.

    Wie ließe sich denn das realisieren?

  • Primenumber
    11
    Primenumber
    Mitglied
    Reaktionen
    2
    Punkte
    1.122
    Beiträge
    218
    • 29. Dezember 2003 um 20:14
    • #7

    Afaik gibts keinen Befehl der einem zur Eingabe auffordert.

  • hajaj
    4
    hajaj
    Mitglied
    Punkte
    100
    Beiträge
    14
    • 29. Dezember 2003 um 22:23
    • #8
    Zitat von Dave2003

    Afaik gibts keinen Befehl der einem zur Eingabe auffordert.


    Hmmm...das ist schlecht. :shinner:

    In dem Fall würde ich gerne wissen, mit welchem Befehl man aus einer Batchdatei heraus eine beliebige Datei starten kann (sagen wir z.B. demo.exe), die im selben Verzeichnis wie die Batchdatei liegt.

    please aw :) ,
    haj

  • BurnOut
    2
    BurnOut
    Mitglied
    Punkte
    40
    Beiträge
    7
    • 29. Dezember 2003 um 22:34
    • #9
    Zitat von hajaj

    Hmmm...das ist schlecht. :shinner:

    In dem Fall würde ich gerne wissen, mit welchem Befehl man aus einer Batchdatei heraus eine beliebige Datei starten kann (sagen wir z.B. demo.exe), die im selben Verzeichnis wie die Batchdatei liegt.

    please aw :) ,
    haj

    Einfach den Namen der auszuführenden Datei hinschreiben und wenn die Datei nicht im selben Verzeichniss liegt den Pfad mit angeben.

  • hajaj
    4
    hajaj
    Mitglied
    Punkte
    100
    Beiträge
    14
    • 3. Januar 2004 um 09:19
    • #10
    Zitat von Dave2003


    echo off
    xcopy *.* %1 /s


    Ich will nun das Batchfile etwas erweitern. Und zwar soll jetzt gecheckt werden, ob überhaupt ein Parameter %1 übergeben wird.
    Ich dachte da intuitiv an folgende einfache Lösung:

    Code
    @echo off
    if %1="" goto error 
    xcopy *.* %1 /s
    :error
    echo.
    echo Fehler aufgetreten
    echo.
    pause



    Scheint aber leider nicht zu funktionieren, da ich beim aufrufen des Batchfiles immer die Fehlermeldung "goto" ist syntaktisch an dieser Stelle nicht verarbeitbar. bekomme.

    Ich hoffe Ihr wisst da Rat :) .

    lg hajaj

  • Primenumber
    11
    Primenumber
    Mitglied
    Reaktionen
    2
    Punkte
    1.122
    Beiträge
    218
    • 3. Januar 2004 um 11:41
    • #11

    if "%1" == "" goto error

  • marX
    7
    marX
    Mitglied
    Reaktionen
    10
    Punkte
    460
    Beiträge
    88
    • 11. Januar 2004 um 14:19
    • #12

    also ohne jetzt jemanden persönlich zu beleidigen ....
    .... ich finde es schon etwas *traurig*, dass jemand in diesem forum nicht
    weiß was batch-files sind! -> da hast du wirklich nachholbedarf :winking_face:

    2. => if %1="" goto error
    geht natürlich nicht, weil stapelverarbeitungsdateien (->batch-files) nur sehr einfach "programmiert" werden können. -> eigentlich kann man nicht mal von programmieren sprechen weil im wesentlichen nur kommandozeilen-befehle eingegeben werden können!!

    also wenn du das ziel-verzeichnis als eingabe einlesen willst, gibt es nur folgende 2 (guten) möglichkeiten:
    1. du verwendest (wie es beefy schon sagte) vb-scripts -> dort kannst du relativ viel machen ODER
    2. (was ich tun würde) du schreibst ein ordentliches c/c++ programm und hast das problem in <15 minuten sauber gelöst :winking_face:

    mfg marX

  • Maximilian Rupp 27. Dezember 2024 um 12:10

    Hat das Thema aus dem Forum Betriebssysteme nach Betriebssysteme verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung