-
Wie bewerkstelligen?

Habe die Aufgabe bekommen ein script zu schreiben das mir bestimmte Ordner in ein vorgegebenen Ordner kopieren soll. Da ich ein Neuling bin und mein Chef es erwartet und ich mich schon daran probiert habe frage ich mal hier nach.
Situation
erstens einen Variablen Pfad angeben per InputBox also CD,USB, Ordner also selbst aussuchen (Quellordner)
zweitens Den Ordner den ich kopieren will zu einen Festen Ordner der evt. schon angelegt ist wenn nicht anlegen lassen und die dateien überschreiben ohne nachfrage im Zielordner.
Mit Unterordner das ganze.
Gelöst habe ich schon das ein bestimmtes Programm das dabei stören würde wenn es läuft automatisch geschlossen wird....
Denke es wird mit fso.CopyFolder gelöst?
Für etwas unterstützung wäre ich dankbar da ich es auch lernen möchte und mein Berufsleben erleichtern würde.
Soweit bin ich jetzt:
Const Computer = "."
Const ProcessName = "notepad.exe"
Const BIF_NONEWFOLDERBUTTON = 512
Dim objWMIService, colProcessList, objProcess
Dim Error, abfrage, Shell, ShellFolder, FolderList, Item
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery ("Select * from Win32_Process where Name = """ & ProcessName & """")
For Each objProcess In colProcessList
WScript.Echo "Die Anwendung " & ProcessName & " wird beendet."
Error = objProcess.Terminate()
If Error = 0 Then
WScript.echo "Die Anwendung wurde erfolgreich beendet."
Else
WScript.Echo "Beim Beenden der Anwendung ist der Fehler " & Error & " aufgetreten."
End If
abfrage = MsgBox ("Daten kopieren", vbYesNo, "ComComS 2009")
If abfrage = vbYes Then
Set Shell = CreateObject("Shell.Application")
Set FolderList = CreateObject("System.Collections.ArrayList")
Do
Set ShellFolder = Shell.BrowseForFolder(0, "Verzeichnis wählen", BIF_NONEWFOLDERBUTTON)
If (Not ShellFolder Is Nothing) Then
FolderList.Add(ShellFolder.Self.Path)
End If
Loop Until (ShellFolder Is Nothing)
For Each Item In FolderList
CreateObject("WScript.Shell").Run "robocopy.exe """ & Item & """ d:\test\"
Next
ElseIf abfrage = vbNo Then
MsgBox "Die Aktion wurde vom Benutzer abgebrochen", vbExclamation, "Hinweis"
End If
Next
möchte nur einen Ordner aussuchen und bei OK die Dateien kopieren.
Bei der Lösung muss ich auf abbrechen gehen bevor kopiert wird.
Geändert von Raiden (31.01.2010 um 15:06 / @629 Uhr)
Grund: Quelltext
-
Developer
AW: Wie bewerkstelligen?
An welcher Stelle musst du auf [Abbrechen drücken?]
-
AW: Wie bewerkstelligen?
Wenn ich einen Ordner ausgesucht habe auf OK gehe und dann muss ich auf abbrechen gehen damit es weiter geht wenn ich auf OK drücke kann ich mir wieder einen Ordner aussuchen.
-
Developer
AW: Wie bewerkstelligen?
Da du mehrere Verz. in einer Schleife auswählen willst, kommst du aus der Schleife nur raus, wenn kein Verz. ausgewählt ist (Abbrechen): "Loop Until (ShellFolder Is Nothing)"
Du kannst vor der nächsten Verz.-Auswahl 'fragen', ob ein weiteres Verzeichnis ausgewählt werden soll und dort ggf. die Schleife verlassen - das nervt aber noch mehr . . .
Wenn du die Auswahl nicht mit "Verzeichnis wählen" sondern mit "Weiteres Verzeichnis wählen oder [Abbrechen]" betitelst, wird es dem Anwender klarer - hoffe ich ;-)
-
AW: Wie bewerkstelligen?
Wollte mich noch bedanken für die Hilfe *Danke*
Tags for this Thread
Forumregeln
- Es ist dir nicht erlaubt, neue Themen zu verfassen.
- Es ist dir nicht erlaubt, auf Beiträge zu antworten.
- Es ist dir nicht erlaubt, Anhänge hochzuladen.
- Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Foren-Regeln
Lesezeichen