Jump to content

Batchdatei zum Umbennen und Verschieben einer Datei auf ein Netzlaufwerk


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich bin neu hier und ich hoffe ihr könnt mir weiterhelfen.

 

Kurz zur Ausgangssituation:

Ich habe an der Arbeit ein Messgerät, welches automatisch Dateien (ohne Dateiendung) mit Messergebnissen auf ein Netzlaufwerk 1 abspeichert.

Nun möchte ich von einem Rechner aus diese Dateien vom Netzlaufwerk 1 auf ein Netzlaufwerk 2 kopieren, da diese Dateien von dort aus weiterverarbeitet werden.

Zuvor muss allerdings noch die Endung der Datei auf .xyz (beispielhaft) geändert werden.

Dies alles soll mithilfe einer Batchdatei erfolgen, welche dann automatisch einmal pro Stunde ausgeführt werden soll.

 

Leider kann das Messgerät die Daten nicht direkt im richtigen Format abspeichern und aufgrund fehlender Rechte nicht auf dem Netzlaufwerk 2 abspeichern.

 

Ich habe auch schon angefangen die Batchdatei zu erstellen: 

 

@echo off
net use Z: \\Netzlaufwerk2 /user:USER2 PASSWORT2
dir "\\Netzlaufwerk1\Unterordner\*.dat" /B /S >Liste.txt
for /f "delims=" %%i in (Liste.txt) do (ren "%%i" "*.xyz")
for /f "delims=" %%j in ('dir /s /b /a-d "\\Ntzlaufwerk1\Unterordner\*.xyz"') do move "%%j" "\\Netzlaufwerk2">nul

 

 

Allerdings funktioniert das nicht und ich habe davon nur wenig Ahnung und hoffe somit auf eure Unterstützung.
 

Vielen Dank schon mal im Voraus.

 

Andreas

Link zu diesem Kommentar

Moin,

 

was genau funktioniert denn nicht? Wir helfen dir gern, aber ein bisschen mehr Information brauchen wir schon.

 

Prinzipiell würde ich nicht mit zwei Schleifen arbeiten, sondern mit einer. Dort könnte für jede Datei ein Kopierbefehl stehen, der die Datei mit dem "falschen" Namen unter "richtigem" Namen am Ziel ablegt. Ein zweiter Schritt in derselben Schleife löscht dann das Original.

 

Außerdem würde ich Ausgaben erst dann unterdrücken (>nul), wenn alles läuft. Bis dahin sind Fehlermeldungen ja vielleicht ganz hilfreich.

 

Und schließlich wäre es besser, wenn dein Skript gleich mit dem passenden User ausgeführt wird. Damit musst du dann das Kennwort nicht im Klartext im Batchcode hinterlegen, wo es nicht hingehört.

 

Gruß, Nils

Link zu diesem Kommentar

Hallo Nils,

 

vielen Dank für deine schnelle Antwort.

 

Zum Punkt was nicht genau funktioniert:

Momentan habe ich das Problem, dass zwar die originalen Dateien umbenannt werden, allerdings nicht ins Ziellaufwerk kopiert werden.

 

Da beim Ziellaufwerk Benutzername und Kennwort verlangt werden, habe ich das auf die oben dargestellte Variante versucht. Dies klappt aber nicht.

Ob Benutzername und Kennwort nun im Skript stehen oder nicht ist eigentlich egal, da an diese Datei niemand anderes etwas ändern wird, sobald diese funktioniert.

 

Wie gesagt, ich habe leider nicht sehr viel Ahnung von Batch-Dateien und sollte das "nur mal schnell" nebenbei schreiben :/

 

Meine Frage im Allgemeinen lautet daher:

Ist der Ansatz schon gut so oder kann man das ganze vielleicht doch noch viel kürzer und einfacher schreiben?

 

Gruß

Link zu diesem Kommentar

Moin

 

Versuchsweise setzte ich wohl echo anstelle move ein und liesse auch Netzlaufwerk und Unterdrückung weg, setzte Pause dazu für die schrittweise Ausführung dazu

 

 

or /f "delims=" %%j in ('dir /s /b /a-d "\\Ntzlaufwerk1\Unterordner\*.xyz"') do echo "%%j" & pause

 

Dann sähe ich, ob der Parameterstring richtig ist. Dabei beachtete ich, ob es ein nicht sichtbares Leerzeichen am Ende gäbe.

bearbeitet von lefg
Link zu diesem Kommentar

Da beim Ziellaufwerk Benutzername und Kennwort verlangt werden, habe ich das auf die oben dargestellte Variante versucht.

Welche Rechte hat denn der Benutzer unter dessen Account du das Script ausführst auf dem Ziellaufwerk?

 

Vielleicht wäre es einfacher und besser dem User mit dem das Script ausgeführt wird die entsprechenden rechte auf dem Ziellaufwerk einzurichten. Dann fällt der Punkt mit dem Passwort im Klartext in der Batch Datei schon mal weg.

Link zu diesem Kommentar
  • 2 Wochen später...
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...