Verschieben von Dateien innerhalb DS411j unter Win 7 sehr langsam

Status
Für weitere Antworten geschlossen.

alegend

Benutzer
Mitglied seit
26. Dez 2011
Beiträge
90
Punkte für Reaktionen
4
Punkte
8
Hi!
Habe ein Problem.
Wenn ich bei meiner DS411j Dateien z.b. vom Ordner Videos(gemountet als Laufwerk Z) in den Ordner Bilder (gemountet als Laufwerk Y)verschieben will, dann kopiert er ellenlangsam ich sage mal mit maximal 18mb die Dateien rüber.
Das ganze geht auch nicht schneller wenn ich es über Netzwerkordner versuche.

Wenn ich das ganze über die Web-Oberfläche mache dann geht es innerhalb einer Sekunde, egal wie groß die Datei dabei ist.
Woran liegt dass dass das verschieben ewig dauert? Der Vorgang scheint ne Art kopieren innerhalb der Disk station zu sein...

Bitte um Hilfe, da ich mich nicht jedesmal in die Web-Oberfläche einloggen möchte.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
unter Win7 wird jede Datei erstmal von der DS auf den PC und dann wieder zurück auf die DS kopiert ... das dauert schon ... in der Weboberfläche (du meinst FileStation oder FileBrowser) bleibt das ganze auf der DS und manchmal wird auch nur der Dateiname in ein aneres Verzeichnis gehanden und die Datei an und für sich gar nicht angefasst

Itari
 

Merthos

Benutzer
Mitglied seit
01. Mai 2010
Beiträge
2.709
Punkte für Reaktionen
2
Punkte
84
Ist normal. Über die Weboberfläche ist das ein internes Verschieben auf der DS, da müssen nur die "Namen" der Dateien angepasst werden (solange es das gleiche Volume ist). Wenn Du das über die Freigaben machst, wird die Datei auf den Rechner kopiert, dann wieder auf die DS an den neuen Ort und am Ende die alte Datei gelöscht. Das geht nun mal nicht anders.
 

docb

Benutzer
Mitglied seit
08. Apr 2012
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Dateien unter Win 7 schnell verschieben / kopieren

Hallo Leute,
ich hatte das gleiche Problem und habe mir ein Skript geschrieben - per rechtsklick auf eine Datei auf der DS kann man diese in bestimmte Ordner verschieben (alternativ kopieren) und zwar verschiebt sie die DS selbst (das geht ruckizucki). Das ganze Funktioniert aber momentan nur von einem Ordner aus (bei mir Download voreingestellt, das könnt ihr aber im Skript änder). Ich bastel aber weiter daran und stelle euch Lösungen zur Verfügung. Bin nicht böse, wenn auch jemand anderes mithilft, der mehr Ahnung von Batchdateien hat ;-)
Der Befehl wird durch das Skript auf der DS selbst ausgeführt, Euer Windows wird nicht belastet (kopiert die Datei also nicht erst auf den Rechner und dann wieder zurück)
Ich erkläre es einfach Schritt für Schritt:
1.) Legt Euch den Ordner D:\Batches an
2.) Die Datei plink.exe von der putty Homepage runterladen und in den Ordner D:\Batches\3rdParty\ kopieren
3.) Ihr könnt auch alle Pfade ändern (einfach im Skript unten austauschen)
4.) Legt im Order D:\Batches eine Textdatei an, kopiert den Inhalt des "Move-Skript" (weiter unten) rein, ändert ggf. die Pfade und ändert unbedingt die IP zu Eurer DS und das Passwort. Passt Euch auch die Ziele an (bei mir 0_Filme, etc.). Dann als .bat Datei abspeichern.
5.) Jetzt noch eine Textdatei anlegen und den Inhalt von "Registry-Skript" reinkopieren. Dann ggf. die Pfade/Dateinamen abändern und als .reg Datei abspeichern. Dann per Doppelklick ausführen und ihr könnt bei einem rechtsklick auf jede Datei, die bereits auf der DS liegt (sonst kommt eine Fehlermeldung) diese zu den von euch vorbestimmten Ordnern verschieben.
6.) OPTIONAL: ladet euch von Computerbild den batch to exe Converter runter, wandelt eure bat in eine exe um und fügt ein Icon dazu - dann habt ihr auch noch beim Rechtsklick ein cooles Icon ;-)
Falls irgendwas nicht verständlich ist - fragt einfach!
Beste Grüße und viel Spaß damit!


Move-Skript
@echo off
color 0C
echo SYNOLOGY MOVE by BB V.1.1


REM Prüfen, ob mit Rechtsklick aufgerufen
REM if [%1%]==[] goto FalscherAufruf
REM===========================================================================================

REM Datei in Variable und die ersten drei Stellen (Laufwerk) wegnehmen
set str=%1%
echo.%str%
set rstr=%str:~3%
REM echo %rstr%
REM===========================================================================================

REM Hier die Zielmöglichkeiten auswählen/ändern
ECHO Bitte waehlen
ECHO VIDEO
ECHO 1: Filme
ECHO 2: 3D
ECHO 3: Serien
ECHO =============================
ECHO AUDIO
Echo 4: Alben
Echo 5: Sampler
Echo 6: Hoerbuecher
ECHO =============================
ECHO 7: Abbrechen

SET choice=
SET /p choice=
REM Hier die Pfade anpassen
IF '%choice%' == '1' set ziel=/volume1/video/0_Filme
IF '%choice%' == '2' set ziel=/volume1/video/0_Filme/3D
IF '%choice%' == '3' set ziel=/volume1/video/0_Serien
IF '%choice%' == '4' set ziel=/volume1/music/1_Alben
IF '%choice%' == '5' set ziel=/volume1/music/2_Sampler
IF '%choice%' == '6' set ziel=/volume1/music/3_Hoerbuecher
IF '%choice%' == '7' GOTO Nein
REM===========================================================================================

REM Sicherheitsabfrage
echo Verschiebe /volume1/Download/%rstr% nach %ziel%/%rstr%
ECHO Mit n abbrechen, mit jeder anderen Taste fortsetzen!
:Frage
SET /p wahl=
REM if /i not '%wahl%' == 'n' (if /i '%wahl%' == 'j' (goto Ja ) ) else goto Nein
if /i not '%wahl%' == 'n' goto Ja

:Nein
cls
echo Vorgang wird abgebrochen
goto Ende
:Ja

Echo %rstr% wird verschoben
REM===========================================================================================

REM Plink Aufruf zum verschieben; wenn ihr lieber kopieren wollt, dann ersetzt mv durch cp
D:\Batches\3rdParty\plink.exe -pw "HierEurerPasswortindenAnführungszeichen" root@10.11.30.1 mv /volume1/Download/%rstr% %ziel%/%rstr%
goto Ende
REM===========================================================================================

:FalscherAufruf
echo "Variable leer!"

:Ende
pause


Registry-Skript
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\DSMove]
;die nächste Zeile nur, wenn ihr eine Exe mit Icon gemacht habt
"Icon"="D:\\Batches\\DSMove.exe"

[HKEY_CLASSES_ROOT\*\shell\DSMove\command]
; oder eben D:\\EuerPfad\Euredatei.bat - die \ und alles müssen bleiben
@="\"D:\\Batches\\DSMove.exe\" \"%1\""



[HKEY_CLASSES_ROOT\Folder\shell\DSMove]
;die nächste Zeile nur, wenn ihr eine Exe mit Icon gemacht habt
"Icon"="D:\\Batches\\DSMove.exe"

[HKEY_CLASSES_ROOT\Folder\shell\DSMove\command]
@="\"D:\\Batches\\DSMove.exe\" \"%1\""
 
Zuletzt bearbeitet:

docb

Benutzer
Mitglied seit
08. Apr 2012
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
so, jetzt hab ich die Lösung - wesentlich schöner - alles was ich vorher geschrieben habe könnt ihr vergessen. Funzt zwar auch, aber nicht so komfortabel.
Also legt Euch eine Datei "gewünschtername.vbs" an und kopiert den code unten rein (im Texteditor). Dann müsst ihr noch in den ersten Zeilen Eure Angaben zur DS / zu einem Pfad anpassen. Dann sucht ihr im explorer nach dem Ordner "sendto" und da kopiert ihr die Datei rein.
Dann können beliebige Dateien im Netzlaufwerk markiert werden, mit rechtsklick, senden an, gewünschtername.vbs kommt ein Ordnerauswahldialog, wählen, OK klicken und die Dateien werden von der DS selbst verschoben. Und das selbst bei großen Dateien blitzschnell.
Viel Spaß damit!

Rich (BBCode):
On Error Resume Next
Err.Clear
REM DS Varaiblen Definieren
DS_IP="1.11.3.5" REM hier die IP der DS eintragen
DS_Pass="MeinPass" REM hier das Passwort für den admin der DS eintragen
Plink="D:\Batches\3rdParty\plink.exe" REM hier den genauen Pfad zur Plink.exe angeben (gibts unter http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
REM Prüfen, ob Datei(en) übergeben wurden
if wscript.arguments.count < 1 then 
 msgbox "Ungültiger Dateiaufruf"
 wscript.quit
end if
REM=================================================

REM Prüfen, ob Quelle auf einem Netzwerklaufwerk liegt
source = wscript.arguments(0)

if NetworkDrive(source) = false then 
 msgbox "Ausgangsdatei ist nicht auf einem Netzwerklaufwerk, Aktion wird abgebrochen!"
 wscript.quit
end if
REM=================================================

REM Zielordner auswählen
Err.Clear
Set Obj = GetObject("", "Shell.Application")
Set oFd = Obj.BrowseforFolder(0, "Bitte ein Verzeichnis auswählen ...", 0, "")
if  oFd is Nothing then 
 msgbox "Kein Ziel gewählt, ich beende!"
 wscript.quit
end if

Set nS = oFd.Self
target = replace(nS.Path, "\", "/")
Set Obj = Nothing
Set oFd = Nothing
REM=================================================

REM Prüfen, ob Zielordner auf einem Netzwerklaufwerk liegt
if NetworkDrive(target) = false then 
 msgbox "Zielordner ist nicht auf einem Netzwerklaufwerk, Aktion wird abgebrochen!"
 wscript.quit
end if
REM=================================================

REM Verschieben
Set fs = CreateObject("Scripting.FileSystemObject")
Set drive = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(left(target,2))))
DSZielLW = drive.VolumeName
if msgbox("Gewählte Datei(en) nach " & target & " verschieben?", vbyesno, "Sicherheitsabfrage") = vbyes then
  for i= 0 to wscript.arguments.count -1
  err.clear
    source = replace(wscript.arguments(i), "\" , "/")
	Set drive = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(left(source,2))))
    DSQuellLW = drive.VolumeName
    Set WSHShell = WScript.CreateObject("WScript.Shell") 
	ExeCode = Plink & " -pw " & DS_Pass & " root@" & DS_IP & " mv /volume1/" & DSQuellLW & "/" & mid(source, 4, len(source)) & " /volume1/" & DSZielLW & "/" & mid(target, 4, len(target))
	rem msgbox execode
	WSHShell.run ExeCode,0 ,true
   if err.number <> 0 then Meldung = Meldung & vbcrlf & source & ": Fehler!" else Meldung = Meldung & vbcrlf & source & ": Erfolgreich!"
  next
 
else 
wscript.quit
end if
REM=================================================

msgbox Meldung,0,"Abschlussbericht"

REM Unterfunktion zur Aufzählung/Prüfung der Netzwerklaufwerke
Public Function NetworkDrive(Drive) 
Driveletter=left(Drive, 1)
Set WshNetwork = WScript.CreateObject("WScript.Network") 
Set oDrives = WshNetwork.EnumNetworkDrives 
NetworkDrive = false
For i = 0 to oDrives.Count - 1 Step 2 
	REM WScript.Echo "Laufwerkbuchstage " & oDrives.Item(i) & " = Pfad" & oDrives.Item(i+1) 
	if left(oDrives.Item(i), 1) = Driveletter then NetworkDrive = true
Next
End Function
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!