batdatei zum kopieren und neu speichern von allen daten

Reset90

Lt. Commander
Registriert
Juli 2016
Beiträge
1.776
Hallo,

kann mir jemand helfen eine .bat datei zu schreiben, die ALLE Daten die in dem Ordner sind (außer ggf. die .bat selber), in dem auch die .bat liegt einmal kopiert und neu "einfügt/abspeichert". ->Ich brauche für alle Datein ein neues Erstdarsteller<-

die Ordnerstruktur sollte aber behalten werden :)

ob diese in einem neuen order landen, welcher zusätzlich erstellt wird oder das auch so irgendwie geht ist mir egal.
 
Es reicht, den "Erstdarsteller" zurückzusetzen (zum Beispiel mit einem Zweitdarsteller :) ), dafür musst du die Dateien nicht kopieren. Aber das nützt dir nichts, wenn in den Metadaten trotzdem das tatsächliche Speicherdatum steht.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: areiland
xcopy c:\sourcefolder\*.pdf c:\destinationfolder\ /e


das kopiert alle dateien, und überschreibt aber auch vorhandene Files die nicht geändert wurden...
 
Erstdarsteller?

Google mal. Da gibt es Tonnen an Infos.

Hast du viele verschiedene Ordner den du kopieren möchtest oder nur einen? Falls einen sollte das folgende reichen:

xcopy mit /e

@Chriz Gut kopiert, ist aber leider nicht das was der TE sucht...
 
@HaZweiOh das verstehe ich nicht. Meinst du mit erstdarsteller den erstersteller? du hast dann zweitdarsteller geschrieben? meinst du wirklich darsteller? https://www.google.com/search?sxsrf.........0i71j0i13j0i13i30j0i8i13i30.I90k7rt_UFM 😂 findet nichts

@Telvanis da ist aber ein laufwerk vorweg angegeben?! Sagen wir, es geht um Onedrive for buisness, welches automatisch alle daten nach erstelldatum nach 2 jahren automatisch löscht, was es zu verhindern gilt.


Onedrive for buisness hat kein Laufwerksbuchstaben :(


@Chriz warum *.pdf? warum c:/?


@oelchenpoelchen googlen ist gut, nur leider weiß ich zu wenig um mir daraus was selber zusammen zu bauen (siehe die Problematik, mit dem dateipfad)
 
Zuletzt bearbeitet:
Bin dabei. Moment.

Code:
SET mypath=%~dp0
xcopy "%myPath%*" "C:\File" /e

Kopiert alles (inkl. Ordnerstruktur und Unterordner) aus dem Pfad der batch datei in den Ordner C:\File
 
Zuletzt bearbeitet:
Reset90 schrieb:
das verstehe ich nicht.
Reset90 schrieb:
Ich brauche für alle Datein ein neues Erstdarsteller
Schreib doch erstmal richtig... und vergiss beim Erzählen nicht die Hälfte.

Woher sollen wir wissen, dass du eine "Klaut" meinst? Normalerweise werden Dateien ja lokal auf der SSD gespeichert. Und warum schaltest du das unerwünschte Verhalten der Klaut nicht einfach ab?
 
  • Gefällt mir
Reaktionen: Chriz
xcopy %cd% %cd%_copy\ /e

?

Sollte das aktuelle Verzeichnis kopieren in ein Verzeichnis auf selber Ebene mit "_copy" am Ende.

Ok ob das in nem OneDrive Laufwerk läuft, kA...
 
@oelchenpoelchen du bist der beste

@HaZweiOh hatte geschrieben, dass es um die daten gehen soll, in dem auch die .bat liegt.

abschalten können es nur die, die es eingeführt haben. Es ist onedrive for buisness und das entscheiden andere Leute. Ich muss das beste draus machen.

ich hielt das nicht für so wichtig, da es an der eigentlichen funktion der bat ja nichts ändert. wenn sie die daten nimmt, die im gleichen ordner wie die bat liegen. egal ob c, d oder ohne laufwerksbuchstaben.

@TrueAzrael ich werde es mal in einer teststruktur ausprobieren bzw auf oelchen warten.

@Chriz wieder die thematik wie oben in #1 beschrieben. zielpfad=speicherort der bat. aber wie setze ich das in eine bat rein? xcopy? e/? was ? trotzdem will ich alle datein und nicht nur die .pdf datein ?!

EDIT
_

@TrueAzrael passiert nichts :( habe aufm desktop ein ordner erstellt mit paar testdokumenten drinnen.
 

Anhänge

  • 2019-11-15 12_31_19-Neuer Ordner.png
    2019-11-15 12_31_19-Neuer Ordner.png
    31,5 KB · Aufrufe: 184
Zuletzt bearbeitet:
Moment noch:

Code:
SET mypath=%~dp0
SET mypath=%mypath:~0,-1%
xcopy "%myPath%\*" "%myPath%_uptodate" /e

Kopiert nun in einen neu erstellten Ordner (der so heißt: "alteOrdner_uptodate) auf gleicher Ebene.
 
danke, ich werde es mal testen

EDIT:


das hilft mir schonmal. Er speichert es zwar eine ebene vor dem ordner ab, in dem die .bat liegt:

beispiel: ich habe auf meinem Desktop einen ordner, in dem Ordner ist die .bat und die neu abzuspeichernden daten. Die .bat erstellt einen neuen ordner auf dem desktop und nicht in dem verzeichnis wo auch die .bat liegt. damit kann ich aber leben. Ich mache in meinem onedrive dann einfach noch einen zwischenordner und gut ist.

ich danke dir
 
Zuletzt bearbeitet:
Häng noch:

Code:
del "%myPath%_uptodate\new.bat" /s /f /q

an das Ende. Damit wird die Batch Datei im neuen Ordner gelöscht, solange sie new.bat heißt.
 
das hilft mir schonmal. Er speichert es zwar eine ebene vor dem ordner ab, in dem die .bat liegt:

beispiel: ich habe auf meinem Desktop einen ordner, in dem Ordner ist die .bat und die neu abzuspeichernden daten. Die .bat erstellt einen neuen ordner auf dem desktop und nicht in dem verzeichnis wo auch die .bat liegt. damit kann ich aber leben. Ich mache in meinem onedrive dann einfach noch einen zwischenordner und gut ist.

ich danke dir

edit: das mit dem löschen mache ich lieber nicht. weil wenn ich den alten ordner lösche wo die .bat drinnen ist, dann habe ich keine .bat mehr. außerdem fällt jede datei in das automatische löschen in dem zwei jahreszyklus. also auch die .bat.
 
ich habe dein Problem noch nicht vollends verstanden.
Nach welchen Kriterien werden die Datein gelöscht?

vielleicht rein ein "copy /b * +,," in dem Ordner auszuführen

und auch ein OneDrive muss einen lokalen Mountpfad haben. An meinem Rechner finde ich ihn unter "C:\USers\<Benutzer>\OneDrive\"
 
gelöscht werden die daten 2 jahre nach erstelldatum.

Es sei denn, diese sind mit einem script, welches der Arbeitgeber bereitstellt und bereits in Word, Excel etc. integriert ist anders klassifiziert. Entweder 180 Tage, 2 Jahre oder 4 Jahre. 2 Jahre gilt für alles, was nicht klassifiziert ist.

https://de.wikipedia.org/wiki/Dokumentenklasse

Da es hier aber ein ursprünglich mal "privates Laufwerk" war, welches jetzt durch office365 in die onedrive for buisness cloud intrigriert wird werden wir jetzt vor solche probleme gestellt. auf dem "privaten Laufwerk" lagen allerdings keine "privaten" sachen wie urlaubsbilder sondern so sachen wie die abschlussprüfung aus der ausbildung oder die gleitzeittabelle.


Selbst die gleitzeittabelle würde nach 2 jahren weg sein, da durch das tägliche ändern sich nur das Änderungsdatum ändert und nicht das Erstelldatum.

ich weiß, es ist behindert, aber was will man anderes machen.


mit dem laufwerk unter C:/ user etc hast du sogar recht.

ich kannte es nur aus den kleinen symbolen aus der taskleiste oder dem schnellzugriff im explorer. Wenn ich dann oben in die adresszeile geklickt habe tauchte da halt nichts an pfad auf außer die wolke und onedriveforbuisness
 
eine weitere Möglichkeit, die mir besser gefällt: die PowerShell.
folger Befehl in der PowerShell ausgeführt, setzt das Erstelldatum für alle Dateien im "test"-Ordner auf "jetzt":
Get-ChildItem C:\Users\<Benutzer>\test\ * -recurse | ForEach-Object{$_.creationtime = Get-Date}

den "test"-Ordner entsprechend auf "OneDrive" geändert, sollte alle Erstelldaten verändern.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Telvanis, Evil E-Lex, oelchenpoelchen und eine weitere Person
Das gefällt mir auch sehr gut.

Kann ich das hiermit in einer bat Datei verbinden?

powershell -Executionpolicy Bypass -Command " POWERSHELL-BEFEHL"

Habe ich bei Google gefunden, dass ich den powershell Befehl per doppelklick ausführen kann
 
Hallo

Ein Feedback deinerseits, ob das Skript hilft die Daten zu behalten, wäre sicherlich für den ein oder anderen „Mitleidenden“, der diesen Thread über Google findet, sehr hilfreich :)

Wenn ja könnte man so ein Skript über die Aufgabenplanung auch automatisch täglich ablaufen lassen. Und es vorher so anpassen, dass bspw. nur Dateien geändert werden, die älter als 600 Tage sind.
 
Zurück
Oben