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