1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

CMD skript schreiben

Discussion in 'Windows XP / Server 2003/2008 / Vista' started by marcel2701, Oct 3, 2007.

Thread Status:
Not open for further replies.
  1. marcel2701

    marcel2701 Byte

    Ich möchte ein skript erstellen um den CMD Befehl:
    xcopy "C:\Dokumente und Einstellungen\User\Eigene Dateien\*.*" L:\ /c /s /r /y /i
    automatisiert zu durchlaufen da ich ihn mehermals im monat ausführen muss.
    Weiß jemand wie ich das ganze in ein skript schreibe?
     
  2. Michi0815

    Michi0815 Guest

    hmm...
    neue text datei anlegen, im editor öffen, die besagte zeile reinschreiben, speichern und in meinscript.cmd umbenennen?
     
  3. da_Ferdi

    da_Ferdi Halbes Megabyte

    1.: editor öffnen.
    2.: den befehl eingeben:
    Code:
    xcopy "C:\Dokumente und Einstellungen\User\Eigene Dateien\*.*" L:\ -c -s -r -y -i
    3.: Datei > Speichern unter wählen, dann bei "Speichern als" "Alle Dateien" auswählen und im darüber liegendem feld "Dateiname" an den gewünschten namen ".bat" anhängen. die datei wird als batch- file im gewählten verzeichniss abgelegt. durch doppelklick wird die funktion dann ausgeführt.
     
  4. marcel2701

    marcel2701 Byte

    dann passiert es bei mir, dass der befehl unaufhörlich versucht wird aufzurufen aber nichts kopiert wird.
     
  5. Eric March

    Eric March CD-R 80

    Es muss schon wirklich eine Batchdatei sein - also wirklich KOPIEREN.BAT und nicht ein verkapptes KOPIREN.BAT.TXT wenn du das per NotePad tust.

    Angenommen die Batchdatei liegt in WINDOWS dann, wenn du sie nicht einfach dirket im Exploer aufrufen willst, erstelle einen Link dessen Befehlszeile so aussehen muss:

    %comspec% /c C:\Windows\kopieren.bat

    (-> siehe unten)

    Die Variable COMSPEC enthält den vollen Pfad zur CMD.EXE - normal also C:\WINDOWS\SYSTEM32\CMD.EXE, was schön praktisch ist. /C schließt dee folgenden Befehl völlig selbständig, man muss sich um nichts weiter kümmern.

    Zu deiner Syntax habe ich aber eine Frage.
    Da schön prägnant gibt es zu XCOPY zwei Schalterkombiantionen: /K/R/E/I/S/C/H und /F/I/D/S/C/H/Y (Letztere ggf.um /U ergänzt). Die erste dient zu einem Vollbackup (i.a.R. unter vorheriger Vernichtung des Ziels), die zweite ist eine Einbahnstraßenupdate eines voher angelegten Vollbackups. (XCOPY war eigentlich mal gedacht Unterverzeichnisstrukturen kopieren zu können, es ersetzte später den Backup-Befehl REPLACE und hat einiges auf dem Kasten.)
    Die Kombination /c /s /r /y /i ist jedenfalls nicht Fisch und nicht Fleisch. Wähle für den jeweiligen Zweck eine der gut merkbaren Kombinationen und es soll dir an nichts fehlen.

    -> Aus optischen Gründen, Schalter /F der auch als Kontrolle dient, stelle immer die Zeile @ECHO OFF als erste in eine Batchdatei. Sei verhindert eine bestätigende Anzeige des (jeweils auszuführenden) Befehls was ggf. verwirrend, in aller Regel aber schlicht unübersichtlich ist. (das @ tut das für die aktuelle Zeile allein - wie man sieht muss man auch noch das Anzeigen des Unterdrückens unterdrücken :))
     
  6. Eric March

    Eric March CD-R 80

    @da_Ferdi
    PS: Schalter für MS-Befehle müssen den / bei Parametern enthalten, nicht das UNIX-übliche Minus! :)
     
  7. marcel2701

    marcel2701 Byte

    habs jetzt mal mit der ersten versucht hab angehängt wie es aus sieht wenn ich die datei ausführe.
     

    Attached Files:

  8. Michi0815

    Michi0815 Guest

    da fehlt aber einiges ^^
    stell erstmal deine konsole auf ein brauchbares layout um
    [​IMG]

    was genau hast du in die datei geschrieben?
     
  9. TanteElse

    TanteElse Halbes Megabyte

    Nein. Das ist bei XP völlig gleichwertig.
     
  10. Eric March

    Eric March CD-R 80

    Das will ich auch langsam wissen.

    So einen Kreisverkehr bekommt man auf 2 Wegen mühe los hin; unsere Testdatei hieße mal ›Versuch.Bat‹.

    (A)
    @echo off
    :Marke
    COPY Otto.Dat Hans.Dat
    Goto Marke

    (B)
    @Echo off
    COPY Otto.Dat Hans.Dat
    Versuch

    Alles klar??? Unten ruft sich die Datei selbst und damit endlos auf. Oben haben wir eine richtige echte Endlosschleife :)
     
  11. marcel2701

    marcel2701 Byte

    Hab mir das aus anderen Skript dateien so zusammen gereimt, kenn mich aber mit skript nicht wirklich aus nehme eigentlich Delphi aber soweit sind wir in der Schule noch nicht.
    Code:
    CLS
    @echo off
    ECHO.
    ECHO Kopiere Eigene Dateien
    xcopy "C:\Dokumente und Einstellungen\Marcel\Eigene Dateien\*.*" l:\ /K/R/E/I/S/C/H
    ECHO.
    PAUSE
     
  12. Eric March

    Eric March CD-R 80

    Du musst schon wissen was du erreichen willst - Vollbackup (kreisch) oder inkrementelle Sicherung (fidschy).

    So lange du aber PAUSE hinten anstellst bekommen wir nicht raus warum da ein Kreisverkehr entstanden ist…
     
  13. marcel2701

    marcel2701 Byte

    Ich will ein Vollbackup erreichen.
     
  14. Michi0815

    Michi0815 Guest

    vielleicht weil er die datei xcopy(.bat|.cmd) genannt hat?
     
  15. Eric March

    Eric March CD-R 80

    OK. Dann solltest du bedenken, dass am Ziel nicht schon ein Backup mit dem selben Namen existieren sollte.
    KREISCH würde nur ergänzen, nicht aber Altlasten löschen (der Große Haken bei XCOPY). RD /S [LW:\Pfad] wäre das Kommando um vorher abzuräumen wenn du den Namen und die Daten am Ziel exklusiv halten willst.

    Hinweis: Du kannst so die Eigenen Dateien sichern, aber dein Profilordner wie auch WINDOWS kann man so nicht sichern da XP den Daumen selbst auf dem bescheidenen Wegkopieren von gesperrten Dateien hat!
     
  16. Eric March

    Eric March CD-R 80

    @Michi0815
    Wenn ich auch .CMD nicht explizit erwähnt hatte - das stand schon oben!
     
  17. marcel2701

    marcel2701 Byte

  18. Michi0815

    Michi0815 Guest

    somemoretext
     
  19. marcel2701

    marcel2701 Byte

    Das "@" vor xcopy war die Lösung.

    Vielen Dank
     
  20. da_Ferdi

    da_Ferdi Halbes Megabyte

    freilich kann man mit notepad .*bat- dateien erstellen...! wenn man wie in meinem ersten post schritt für schritt beschrieben in der "Speichern als"- combobox alle dateien wählt und im "Dateiname"- Feld explizit als endung "*.bat" schreibt, wird eine ganz normale batch-datei erzeugt...

    [​IMG]

    dass windows xp und vista in batchfiles minuszeichen wie slashs interpretiert, hat bereits auch TanteElse in ihrem post erwähnt. aus kompatibilitätsgründen wäre es natürlich besser, slashs zu verwenden.
     
Thread Status:
Not open for further replies.

Share This Page