Supportnet / Forum / Anwendungen(Java,C++...)
batch datei schreiben
Frage
hallo leute,
ich mach z.z. so´n fernkurs in sachen pc und hab da ein kleines problem wo ich net weiterkomme.
die aufgabe lautet
schreibe eine batch datei in der du die dateien c:\dat1 (dat1 ist eine datei ohne endung) und die datei im unterverzeichnis c:\unt\dat2 miteinander vertauscht.
die batch datei darf nur aus 4 zeilen bestehen, die befehle "ren" und "del" dürfen nur 1 mal verwendet werden, der befehl "copy" nur 2 mal. ich find da echt keine lösung !
also das ganze könnte ja ungefähr so aussehen:
ren c:\dat1 c:\dat2
copy c:\unt\dat2 c:\dat1
del c:\unt\dat2
copy c:\dat2 c:\unt\dat2
del c:\dat2
das währe zwar ne lösung, aber halt leider mit einer zeile zu viel und den befehl "del" doppelt verwendet.
bin hier echt am verzwifeln und hoffe mal das mir einer von euch ne passende lösung sagen kann.
bin für jede hilfe dankbar !
vlg, grummelchen
Antwort 1 von disco
moin
du kannst mit einem del mehrere dateien löschen.
del dat1 c:\unt\dat2
oder schau die mal den befehl move an. damit kannste dateiien direkt übereschreiben und die quelle im gleichen schritt löschen...
g,
disoc
du kannst mit einem del mehrere dateien löschen.
del dat1 c:\unt\dat2
oder schau die mal den befehl move an. damit kannste dateiien direkt übereschreiben und die quelle im gleichen schritt löschen...
g,
disoc
Antwort 2 von anotheronehere
copy c:\dat1 c:\unt\dat1
ren c:\dat1 c:\dat2
copy c:\unt\dat2 c:\dat2
del c:\unt\dat2
man müsste beide alten ja löschen.. da man nur einmal löschen darf, nennt man vorher eine alte um und überschreibt sie einfach mit einer neuen
ren c:\dat1 c:\dat2
copy c:\unt\dat2 c:\dat2
del c:\unt\dat2
man müsste beide alten ja löschen.. da man nur einmal löschen darf, nennt man vorher eine alte um und überschreibt sie einfach mit einer neuen
Antwort 3 von grummelchen
hi und erst mal danke für die schnelle antwort !
aber leider ist mein problem damit noch nicht gelöst.
das ich mit del 2 auf einmal löschen kann wusste ich, aber es bringt mir in sofern nix weil ich dann ja eine datei zu nem zeitpunkt löschen würde wo ich sie noch brauche.
move währe schon geeignet, aber die vorgaben sind halt leider nun mal so das ich die befehle copy,ren und del in entprechender anzahl verwenden muss, keine ahnung auf was die dabei raus wollen....
lg, grummelchen
aber leider ist mein problem damit noch nicht gelöst.
das ich mit del 2 auf einmal löschen kann wusste ich, aber es bringt mir in sofern nix weil ich dann ja eine datei zu nem zeitpunkt löschen würde wo ich sie noch brauche.
move währe schon geeignet, aber die vorgaben sind halt leider nun mal so das ich die befehle copy,ren und del in entprechender anzahl verwenden muss, keine ahnung auf was die dabei raus wollen....
lg, grummelchen
Antwort 4 von grummelchen
@ anotheronehere
auch dir danke ich, aber leider geht das genauso wenig, habe diese lösung auch schon ausprobiert und wenn die 3.zeile (copy c:\unt\dat2 c:\dat2) bearbeitet wird bekomm ich die frage gestellt das dat2 schon existiert, soll sie überschrieben werden ?
dadurch ergibt sich das ich das erst wieder mit der tastatur bestätigt werden muss, es soll aber alles automatisch gehen...
trotzdem danke für deine idee !
lg, grummelchen
auch dir danke ich, aber leider geht das genauso wenig, habe diese lösung auch schon ausprobiert und wenn die 3.zeile (copy c:\unt\dat2 c:\dat2) bearbeitet wird bekomm ich die frage gestellt das dat2 schon existiert, soll sie überschrieben werden ?
dadurch ergibt sich das ich das erst wieder mit der tastatur bestätigt werden muss, es soll aber alles automatisch gehen...
trotzdem danke für deine idee !
lg, grummelchen
Antwort 5 von disco
Zitat:
bekomm ich die frage gestellt das dat2 schon existiert, soll sie überschrieben werden ?
bekomm ich die frage gestellt das dat2 schon existiert, soll sie überschrieben werden ?
dann solltest du dir mal mit copy /? die möglichen parameter anzeigen lassen...
g,
disco
Antwort 6 von anotheronehere
dann ersetze die Zeile mit:
copy c.\unt\dat2 c:\dat2 /Y
damit wird die Aufforderung unterdrückt
copy c.\unt\dat2 c:\dat2 /Y
damit wird die Aufforderung unterdrückt
Antwort 7 von grummelchen
ok, das wäre ne möglichkeit, leider kannte ich die möglichkeit mit /Y bzw. /? noch nicht.
werd das aber auf alle fälle mal ausprobieren !
erst mal vielen dank ! und falls noch jemand ne idee hat dann immer rüber damit....
lg, grummelchen
werd das aber auf alle fälle mal ausprobieren !
erst mal vielen dank ! und falls noch jemand ne idee hat dann immer rüber damit....
lg, grummelchen
Antwort 8 von conny77
4 Zeilen:
copy dat1 unt
copy unt\dat2 dat1 /y
del unt\dat2
ren unt\dat1 dat2
2 Zeilen:
copy dat1 unt|copy unt\dat2 dat1 /y
del unt\dat2|ren unt\dat1 dat2
copy dat1 unt
copy unt\dat2 dat1 /y
del unt\dat2
ren unt\dat1 dat2
2 Zeilen:
copy dat1 unt|copy unt\dat2 dat1 /y
del unt\dat2|ren unt\dat1 dat2
Antwort 9 von grummelchen
super, das wird ja immer besser, ihr seid echt ne große hilfe, danke !
lg, grummelchen
lg, grummelchen
Antwort 10 von grummelchen
Leute ich hab die Lösung gefunden....
copy c:\unt\da2 c:
copy c:\da1 c:\unt\da2
del c:\da1
ren c:\da2 da1
und danke nochmal für Eure Hilfe
copy c:\unt\da2 c:
copy c:\da1 c:\unt\da2
del c:\da1
ren c:\da2 da1
und danke nochmal für Eure Hilfe