feuerpferd
Goto Top

Dateien aus Unterordner per Batch in einen Netzwerkordner verschieben.

Hallo Script Profis,
leider habe ich nichts gefunden was mich meinem Ziel weiter gebracht hat.

Folgendes Szenario.

Aus dem Odrner:

c:\Programme\Programm\Aufzeichnung\

sollen alle *.mp3 in einen Netzwerkordner verschoben werden.

Netzwerkordner:

\\Server\Voicefiles\Unterordner1\

Mit dem einfachen Move Befehl klappts leider nicht.

Wie gehts denn richtig?

Schonmal Danke für eure Hilfe.
Gruß
Markus

Content-ID: 138820

Url: https://administrator.de/contentid/138820

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

Tommy70
Tommy70 22.03.2010 um 12:27:46 Uhr
Goto Top
Schon mal mit Robocopy und dem Parameter /mov probiert?
Crusher79
Crusher79 22.03.2010 um 12:30:40 Uhr
Goto Top
Hi,

welches OS?

Wie oft soll sich die Sache wiederholen? Betrifft es nur einen Client oder mehrere?

Ein kostenloser und bekannte Windows Kopiergigant: Robocopy.

Mittels /move werden org. Dateien gelöscht.

Unter Vista/ Win7 Standard Anwendung. Unter XP lässt es sich einfach nachinstallieren. Man kann das Ganze wunderbar in Skript integrieren.

Gibt zig Beispiele im Netz. Wenn du es nur einmalig brauchst und die Kommandozeile scheust: http://technet.microsoft.com/en-us/magazine/2006.11.utilityspotlight.as ...

Das GUI erleichtert die Bedienung! ACHTUNG: Ka ob robocopy Binary dorrt enthalten ist. Ggf. muss vorher robocopy installiert werden, damit man mit dem GUI arbeiten kann.

mfg Crusher
Biber
Biber 22.03.2010 um 12:35:38 Uhr
Goto Top
Moin Feuerpferd,

der MOVE-Befehl ist primär nur gedacht für Verschiebereien auf EINER (physikalischen) Festplatte und arbeitet auch nur dann ohne Seiteneffekte.

Wenn es eine einmalige Aktion und/oder du keine Robocopy einsetzen willst, wie von Tommy70 vorgeschlagen, dann bilde den MOV-Befehl doch selbst durch zwei Befehle nach

  • COPY c:\Programme\Programm\Aufzeichnung\*.* {existierender Netzwerkordner}
  • DEL c:\Programme\Programm\Aufzeichnung\*.*

Grüße
Biber
Feuerpferd
Feuerpferd 22.03.2010 um 12:47:02 Uhr
Goto Top
Danke für die schnelle Antwort.
Bitte nicht die Gedult verlieren. face-smile

Was meinst du mit (welches OS?)?

Von Robocopy habe ich keine Ahnung.
Das Script muß auf mehrere Clients und der Pfad kann schonmal variieren.

Wenn der Anfangordner dirkt im root liegt, funtioniert es.
Ich hatte folgenden Anfang gemacht.


move C:\Aufzeichnung\*.mp3 \\Server\Voicefiles\Ordner1

Die Batch habe ich dann über Taskplaner automatisch ausführen lassen.
Funktioniert.

Wenn aber der Ausgangsordner ein Unterordner wie oben beschrieben ist, dann gehts nicht.

Meine Scriptkenntnisse sind sehr beschränkt. face-sad
Crusher79
Crusher79 22.03.2010 um 13:17:36 Uhr
Goto Top
Welches Betriebssystem mein ich. Bei Vista/ Win7 ist robocopy bereits integriert. Nur Befehl eingeben und das wars.

Was für Aufzeichnungen sind das? Verändern sich die, so dass du mehrmals (täglich) verschieben willst?

Kann man den Pfad für die Voicefile Speicherung frei wählen? Dann wäre es auch einfach möglich, zukünfitig direkt auf ein Netzlaufwerk (vgl. Userhome) zu speichern. Dann werden die Dateien direkt auf dem Server abgelegt. Um wie viele Clients geht es eigentlich?

Man kann natürlich auch die Ordner suchen und automatisch kopieren lassen. Ist halt nur etwas mehr aufwand. Die Frage ist nur, ob man für zukünftige Aktionen nicht Pfade auf jeden Rechner vorab ändert und einheitliche Struktur in das Ganze bringt.

mfg Crusher
Feuerpferd
Feuerpferd 22.03.2010 um 13:27:34 Uhr
Goto Top
Wir arbeiten mit XP-Pro.
Das sind Gesprächsaufzeichnungen von Telefonaten. Diese werden im Minutentakt ins Netz verschoben.

Das Programm welches zur Aufnahme der Voicefiles verwendet wird ist gelinde gesagt schei....e und lässt es nicht zu, das die Dateien direkt in einen Netzwerkordner abgelegt werden können.

Leider muss ich diesen Umweg gehen.
Ich hatte das Programm auch so eingestellt, dass das mp3 direkt in einen Ordner c:\Aufzeichnung abgelegt wird.
Wenn aber ein anderer User sich anmeldet, ist diese Einstellung wieder weg und das Programm speichert wieder in den Standart Unterordner unter c:\Programme\xxxxxx\Aufzeichnungen.
Und der Wechsel von Usern an den Clients wird sich nicht ändern. face-sad
TsukiSan
TsukiSan 22.03.2010 um 14:15:15 Uhr
Goto Top
Hallo Feuerpferd,

würde dir eventuell VBS helfen in dieser Form:
AblageOriginal = "C:\Programme\wasauchimmer"  
AblageKopie = "\\Computername\Freigabeordner\"  

Set FSO = CreateObject("Scripting.FileSystemObject")  

For Each File In FSO.GetFolder(AblageOriginal).Files
	AblageOriginal = File.Path
	FSO.CopyFile AblageOriginal, AblageKopie, True
Next
"Ablageoriginal" und "Ablagekopie" -> die Pfadangaben musst du noch anpassen und auch die Netzlaufwerksangabe.

Gruss
Tsuki
Feuerpferd
Feuerpferd 22.03.2010 um 14:20:35 Uhr
Goto Top
Hi,

ich probiere es mal aus.
60730
60730 22.03.2010 um 14:47:05 Uhr
Goto Top
Moin,

anderer Vorschlag:

  • wenn du das schon mit einem anderen Ordner lösen kannst - warum dann nicht gleich mit Net use ein Serverlaufwerk mounten und so "lokal" auf den Server ablegen.

Wenn aber ein anderer User sich anmeldet, ist diese Einstellung wieder weg

Entweder sorgst du im loginscript dafür, dass der Regkey- inhalt einer .ini - wie auch immer - jedesmal überbügelt wird - oder nimmst den Usern die Schreibrechte auf den betreffenden Key/Datei.

Ich kenne die Software nicht - würde das aber immer so realisieren.

Denn wenn die "so" intelligent ist - wie du schreibst - wer sagt dir nicht, das ein Dateiname nicht irgendwann doppelt vorkommt - wenn du das außerhalb "verschiebst"?

Gruß