Eigene Dateien und Ordner, die nicht genau benannt werden können per Batch-Befehl verschieben
Hallo zusammen!
Ich beginne gerade damit mich mit dem Feld der "einfachen Batch-Programmierung" zu beschäftigen.
Ich arbeite im "First-Level-Support Computer und Netze" in einer grossen Verwaltung, und betreue dort die Endnutzer an Ihren Arbeitsplätzen... derzeit noch WinXP über Windows-Terminalserver-Technik...
Unsere administrativen Möglichkeiten sind begrenzt, da wir für die Software-Entwicklung eine eigene Behörde betreiben!
Trotzdem ist es ab und an hilfreich kleine Programme zu schreiben, die meist mit Datei-Verwaltung und -Ablageorten in Zusammenhang stehen!
Daher heute hier meine erste Frage zum Thema "Einstieg in die Batch-Programmierung"!
Ich freue mich darauf, hier Hilfe zu erhalten!
Unseren Nutzern steht jeweils ein Teilbereich von einem Fileserver (sogenanntes "Heimat-Laufwerk" als Netzlaufwerk eingebunden)zu, auf dem der jeweilige Nutzer die Möglichkeit hat eigene Dateien zu speichern.
Ausserdem werden hier Systemdateien und -ordner abgelegt, die für Programme seines eigenen Benutzerprofils erforderlich sind! Diese werden automatisch systemseitig angelegt und mit den erforderlichen Daten gefüllt!
Eine Reihe von Nutzern hat aktuell ein "neues Heimatlaufwerk" erhalten...
Die Daten des "alten Heimatlaufwerks" sind nun in einem Unterverzeichnis des "neuen Heimatlaufwerks" gespeichert!
Ich möchte den Nutzern nun die Möglichkeit bieten, die persönlichen Dateien und Unterordner, die Sie im "alten Heimatlaufwerk" abgelegt haben recht einfach auf das "neue Heimatlaufwerk" zu verschieben...
Möglich wäre das doch über den XCOPY-Befehl in einer Batch-Datei?!
Problem hierbei ist jedoch, dass die Ablage der persönlichen Dateien und Ordner ohne festgeschriebene Struktur erfolgen kann und meist erfolgt ist, so dass KEIN namensgleicher Unterordner auf dem "alten Heimatlaufwerk" bestehen muss bzw. besteht in dem alle persönlichen Daten abgelegt wären, den man in einer Batchdatei benennen könnte...
Weiter ist zu bedenken, dass es bezogen auf die Systemdateien auf altem und neuem Heimatlaufwerk identische Ordner und Dateien gibt, von denen jeweils die Ordner und Dateien vom nun neuen Heimatlaufwerk erhalten bleiben müssen!
Kurz gesagt:
Ich suche eine Möglichkeit, NUR die persönlichen Dateien und Unterordner zu verschieben!
MEINE ERSTE IDEE:
Ich möchte den Batch-Befehl "XCOPY /d" (ohne Angabe eines Datums) verwenden!
Dadurch sollten zunächst einmal die Systemdateien und -ordner vom alten Heimatlaufwerk (Quelle) NICHT verschoben werden, da die namensgleichen Systemdateien und -ordner auf dem neuen Heimatlaufwerk (Ziel) neuerem Datums sein müssten (dies habe ich noch nicht geprüft; müsste aber so sein)!
Ausserdem sollten alle vom Nutzer selbst erstellten Dateien und Ordner vom alten Heimatlaufwerk (Quelle) ins neue Heimatlaufwerk (Ziel) verschoben werden können, da diese im "Ziel" noch nicht vorhanden sind und damit nicht neuerem Datums sein können!
Nun aber meine Frage an die Community hier:
Ist das ein praktikabeler Ansatz oder habe ich einen Denkfehler?
Bzw. gibt es eine bessere Alternative für das was ich vor habe?
Dabei muss ich nochmal betonen, dass ich nur eingeschränkte administrative Rechte am System habe und daher wahrscheinlich lediglich über "Batch-Programme" zum Ziel kommen kann!
Nun bin ich gespannt, ob ihr Ideen habt und ob ich diese umsetzen kann...
Vielen Dank vorab für euere Mühen...
LG vom
Kohlfurther
Ich beginne gerade damit mich mit dem Feld der "einfachen Batch-Programmierung" zu beschäftigen.
Ich arbeite im "First-Level-Support Computer und Netze" in einer grossen Verwaltung, und betreue dort die Endnutzer an Ihren Arbeitsplätzen... derzeit noch WinXP über Windows-Terminalserver-Technik...
Unsere administrativen Möglichkeiten sind begrenzt, da wir für die Software-Entwicklung eine eigene Behörde betreiben!
Trotzdem ist es ab und an hilfreich kleine Programme zu schreiben, die meist mit Datei-Verwaltung und -Ablageorten in Zusammenhang stehen!
Daher heute hier meine erste Frage zum Thema "Einstieg in die Batch-Programmierung"!
Ich freue mich darauf, hier Hilfe zu erhalten!
Unseren Nutzern steht jeweils ein Teilbereich von einem Fileserver (sogenanntes "Heimat-Laufwerk" als Netzlaufwerk eingebunden)zu, auf dem der jeweilige Nutzer die Möglichkeit hat eigene Dateien zu speichern.
Ausserdem werden hier Systemdateien und -ordner abgelegt, die für Programme seines eigenen Benutzerprofils erforderlich sind! Diese werden automatisch systemseitig angelegt und mit den erforderlichen Daten gefüllt!
Eine Reihe von Nutzern hat aktuell ein "neues Heimatlaufwerk" erhalten...
Die Daten des "alten Heimatlaufwerks" sind nun in einem Unterverzeichnis des "neuen Heimatlaufwerks" gespeichert!
Ich möchte den Nutzern nun die Möglichkeit bieten, die persönlichen Dateien und Unterordner, die Sie im "alten Heimatlaufwerk" abgelegt haben recht einfach auf das "neue Heimatlaufwerk" zu verschieben...
Möglich wäre das doch über den XCOPY-Befehl in einer Batch-Datei?!
Problem hierbei ist jedoch, dass die Ablage der persönlichen Dateien und Ordner ohne festgeschriebene Struktur erfolgen kann und meist erfolgt ist, so dass KEIN namensgleicher Unterordner auf dem "alten Heimatlaufwerk" bestehen muss bzw. besteht in dem alle persönlichen Daten abgelegt wären, den man in einer Batchdatei benennen könnte...
Weiter ist zu bedenken, dass es bezogen auf die Systemdateien auf altem und neuem Heimatlaufwerk identische Ordner und Dateien gibt, von denen jeweils die Ordner und Dateien vom nun neuen Heimatlaufwerk erhalten bleiben müssen!
Kurz gesagt:
Ich suche eine Möglichkeit, NUR die persönlichen Dateien und Unterordner zu verschieben!
MEINE ERSTE IDEE:
Ich möchte den Batch-Befehl "XCOPY /d" (ohne Angabe eines Datums) verwenden!
Dadurch sollten zunächst einmal die Systemdateien und -ordner vom alten Heimatlaufwerk (Quelle) NICHT verschoben werden, da die namensgleichen Systemdateien und -ordner auf dem neuen Heimatlaufwerk (Ziel) neuerem Datums sein müssten (dies habe ich noch nicht geprüft; müsste aber so sein)!
Ausserdem sollten alle vom Nutzer selbst erstellten Dateien und Ordner vom alten Heimatlaufwerk (Quelle) ins neue Heimatlaufwerk (Ziel) verschoben werden können, da diese im "Ziel" noch nicht vorhanden sind und damit nicht neuerem Datums sein können!
Nun aber meine Frage an die Community hier:
Ist das ein praktikabeler Ansatz oder habe ich einen Denkfehler?
Bzw. gibt es eine bessere Alternative für das was ich vor habe?
Dabei muss ich nochmal betonen, dass ich nur eingeschränkte administrative Rechte am System habe und daher wahrscheinlich lediglich über "Batch-Programme" zum Ziel kommen kann!
Nun bin ich gespannt, ob ihr Ideen habt und ob ich diese umsetzen kann...
Vielen Dank vorab für euere Mühen...
LG vom
Kohlfurther
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 204138
Url: https://administrator.de/forum/eigene-dateien-und-ordner-die-nicht-genau-benannt-werden-koennen-per-batch-befehl-verschieben-204138.html
Ausgedruckt am: 08.04.2025 um 01:04 Uhr
16 Kommentare
Neuester Kommentar
Zitat von @kohlfurther:
Zunächst einmal herzlichen Dank für die Hinweise zum Befehl "XCOPY"...
Ich werde mal schauen, dass ich morgen dazu komme im Büro eine erste Version der Datei zu schreiben und dann hier berichten,
ob es zum gewünschten Ergebnis geführt hat...
VIELEN DANK vorab für eure Hinweise und Mühen...
LG und frohen Oster-Montag noch...
Kohlfurther
Zunächst einmal herzlichen Dank für die Hinweise zum Befehl "XCOPY"...
Ich werde mal schauen, dass ich morgen dazu komme im Büro eine erste Version der Datei zu schreiben und dann hier berichten,
ob es zum gewünschten Ergebnis geführt hat...
VIELEN DANK vorab für eure Hinweise und Mühen...
LG und frohen Oster-Montag noch...
Kohlfurther
Das Robocopy.exe musst du nicht installieren, kann man einfach irgendwo ablegen wo man halt rechte hat und dann mit
c:\robocopy.exe parameter....
ausführen.
Ist mächtiger wie xcopy, bei uns in der firma wird das zum synchronisieren von daten zwischen servern verwendet.
wie gesagt schaus dir mal an, und installieren muss man da nix.
Also du kannst generell ein Log File erzeugen unter DOS in dem man das so schreibt
BEFEHLSZEILE >>"C:\log.txt"
das kannst du auch mit Robocopy (musst dann aber bei robocopy nen Parameter hinhängen - No Progressbar - sonst siehts schrottig aus) machen, ergo hast du dann ein Log File.
Tja und nun wirds komplex, man könnte dann unter VBS Script z.B. das Logfile öffnen lassen und nach irgendwelchen Zeichenketten suchen, die indizien für Fehler sind, und anschließend das VBS Script irgendwas machen lassen wie z.B. ne email versenden mit error warnung oder ein erneutes File erzeugen... wie auch immer.
aber dazu muss man sich dann schon ganz schön reinhängen in die script sprache.
Out of the Box fällt mir mal nix ein.
BEFEHLSZEILE >>"C:\log.txt"
das kannst du auch mit Robocopy (musst dann aber bei robocopy nen Parameter hinhängen - No Progressbar - sonst siehts schrottig aus) machen, ergo hast du dann ein Log File.
Tja und nun wirds komplex, man könnte dann unter VBS Script z.B. das Logfile öffnen lassen und nach irgendwelchen Zeichenketten suchen, die indizien für Fehler sind, und anschließend das VBS Script irgendwas machen lassen wie z.B. ne email versenden mit error warnung oder ein erneutes File erzeugen... wie auch immer.
aber dazu muss man sich dann schon ganz schön reinhängen in die script sprache.
Out of the Box fällt mir mal nix ein.
hast recht, ich denk schon garnicht mehr so einfach hehe
ich persöhnlich hab mir mal VBS Script geschrieben was source und destination dir dynamisch auf anzahl der Verzeichnisse und Dateien vergleicht geschrieben. die Lösung schwirrte da bei mir im kopf rum.
aber ja findstr.exe (auch wie robocopy downloadbar und verwendbar) sollte den job auch erledigen.
und mit blat.exe kann man die mail verschicken, auch downloadbar und man muss nix installieren.
aber damit mail verschicken geht muss euer emailserver auch erlauben das ein client sich "unauthifiziert" connecten darf und ne mail schicken, normalerweise wird das restriktiv gehandhabt in unternehmen und ist nich selbstverständlich das es geht. sei dazu erwähnt.
ich persöhnlich hab mir mal VBS Script geschrieben was source und destination dir dynamisch auf anzahl der Verzeichnisse und Dateien vergleicht geschrieben. die Lösung schwirrte da bei mir im kopf rum.
aber ja findstr.exe (auch wie robocopy downloadbar und verwendbar) sollte den job auch erledigen.
und mit blat.exe kann man die mail verschicken, auch downloadbar und man muss nix installieren.
aber damit mail verschicken geht muss euer emailserver auch erlauben das ein client sich "unauthifiziert" connecten darf und ne mail schicken, normalerweise wird das restriktiv gehandhabt in unternehmen und ist nich selbstverständlich das es geht. sei dazu erwähnt.