knuefi
Goto Top

Fachmann-frau gesucht, Script in einer Windows Form Anwendung

Hallo und guten Abend zusammen,

ich bin auf der Suche nach jemanden , der mir die Untenstehende Script in einer Windows Form Anwendung verbaut. Leider fehlt mir die Zeit mich intensiv mit Windows Form zu beschaffen damit ich es selber hin bekomme.
Die Hilfe bzw. das basteln muss nicht umsonst sein, ich wäre bereit für die Erstellung eine Spende zu tätigen face-smile.
Ich hoffe meine Beschreibung ist gut genug, bei Fragen bitte melden.

Hier das erste Script:

CreateObject("WScript.Shell").Popup "Kopiere",2, "Information"  
Const FOLDER_MITTEILUNGEN = "\\d\rot\Test\Inhalt"  
Const FOLDER_LINKS = "\\d\rot\Test\Quelle\Verknüpfungen\Laufwerk_1"  
Set fso = CreateObject("Scripting.Filesystemobject")  
Set objShell = CreateObject("Wscript.Shell")  
For Each link In fso.GetFolder(FOLDER_LINKS).Files
If LCase(fso.GetExtensionName(link.Name)) = "lnk" Then  
Set lnk = objShell.CreateShortcut(link.Path)
fso.CopyFile FOLDER_MITTEILUNGEN & "\*.*", lnk.TargetPath & "\Bilder"  
End If
Next
fso.DeleteFile FOLDER_MITTEILUNGEN & "\*.*",True  
MsgBox "Mitteilung versendet"  
else
CreateObject("WScript.Shell").Popup "Abruch, keine Datei kopiert",2, "Information"  
end if

Beschreibung des Script:
In diesen Script wird eine oder mehre Dateien in den Ordner \\d\rot\Test\Inhalt gelegt und bei Ausführung des Script wird die eine oder die mehren abgelegten Dateien in alle in \\d\rot\Test\Quelle\Verknüpfungen\Laufwerk_1 befindlichen Ordner Verknüpfungen in den Unterordner Bilder kopiert. Nach dem Erfolgreichen kopieren kommt eine positiv Meldung und der Quell Ordner (\\d\rot\Test\Inhalt) ist leer.

Zusatz Info:
Es gibt ein weiteres Laufwerk in dem sich weitere Ordner Verknüpfungen befinden, um diese Laufwerk_2 und darin befindlichen Ordner Verknüpfungen zu erreichen ändert sich das Script in der Zeile 3 von : \\d\rot\Test\Quelle\Verknüpfungen\Laufwerk_1
in :\\d\rot\Test\Quelle\Verknüpfungen\Laufwerk_2
Zudem gibt es (in beiden) in den Ordner ein weiteren Unterordner mit den Namen Foto, um diese zu erreichen ändert sich das Script in der Zeile 9 von: fso.CopyFile FOLDER_MITTEILUNGEN & "\*.*", lnk.TargetPath & "\Bilder"
In: fso.CopyFile FOLDER_MITTEILUNGEN & "\*.*", lnk.TargetPath & "\Foto"


Mein Wunsch in der Anwendung:
• Das Ablegen der Datei/Dateien in den Quell Ordner (\\d\rot\Test\Inhalt) soll als als DragDrop erfolgen.
• Die Auswahl ob Laufwerk 1 oder 2 (\\d\rot\Test\Quelle\Verknüpfungen\Laufwerk_1 oder \\d\rot\Test\Quelle\Verknüpfungen\Laufwerk_2 soll in einer ComboBox erfolgen. Die Auswahl in der ComboBox wäre dann Laufwerk_1 und Laufwerk_2
(Dim strFolder As String = "\\d\rot\Test\Quelle\Verknüpfungen" & comboTarget.SelectedItem
• Die Auswahl und der Start des Kopieren der abgelegten Datei/Dateien in der Anwendung soll über zwei Button erfolgen. Einer für das Kopieren in den Unterordner Bilder und der andere für das Kopieren in den Unterordner Foto.


Zum Schluss eine Löschfunktion für eventuelle veraltete- oder nicht mehr benötigte Dateien.
Hier das zweite Script:
Const BASEFOLDER = "\\d\rot\Test\Quelle\Verknüpfungen\Laufwerk_1"  
Dim arrFoundFiles(),cnt, strFind
cnt = 0
Set fso = CreateObject("Scripting.FileSystemObject")  
Set objShell = CreateObject("Wscript.Shell")  
Do While cnt = 0
strFind = InputBox("Bitte zu suchenden Dateinamen eingeben:","Beispiel.jpg")  
If strFind = False Or strFind = "" Then Exit Do  
FindFilesRecursive fso.GetFolder(BASEFOLDER),strFind
If cnt = 0 Then
If MsgBox("Const BASEFOLDER = "\\d\rot\Test\Quelle\Verknüpfungen\Laufwerk_1"  
Dim arrFoundFiles(),cnt, strFind
cnt = 0
Set fso = CreateObject("Scripting.FileSystemObject")  
Set objShell = CreateObject("Wscript.Shell")  
Do While cnt = 0
strFind = InputBox("Bitte zu suchenden Dateinamen eingeben:","Beispiel.jpg")  
If strFind = False Or strFind = "" Then Exit Do  
FindFilesRecursive fso.GetFolder(BASEFOLDER),strFind
If cnt = 0 Then
If MsgBox("Die Suche war nicht erfolgreich. Möchten sie die Eingabe wiederholen?",vbYesNo Or vbQuestion) = vbNo Then  
Exit Do
End If
Else
If MsgBox("Die Suche hat folgende Dateien gefunden: " & vbNewLine & vbNewline & Join(arrFoundFiles,vbNewLine) & vbNewLine & vbNewLine & "Möchten sie diese nun löschen?", vbQuestion Or vbYesNo) = vbYes Then  
For Each file In arrFoundFiles
fso.DeleteFile file, True
Next
End If
End If
Loop
Function FindFilesRecursive(objFolder, strSearch)
if fso.FileExists(objFolder.Path & "\" & strSearch) Then  
ReDim Preserve arrFoundFiles(cnt)
arrFoundFiles(cnt) = objFolder.Path & "\" & strSearch  
cnt = cnt + 1
End If
for each file in objFolder.Files
If LCase(fso.GetExtensionName(file.Name)) = "lnk" Then  
strTarget = objShell.CreateShortcut(file.Path).TargetPath
For Each f In Array("Bilder","Foto")  
If fso.FolderExists(strTarget & "\" & f) then  
FindFilesRecursive fso.GetFolder(strTarget & "\" & f),strSearch  
End if
Next
End If
Next
For Each subfolder In objFolder.SubFolders
FindFilesRecursive subfolder, strSearch
Next
End Function?",vbYesNo Or vbQuestion) = vbNo Then  
Exit Do
End If
Else
If MsgBox("Die Suche hat folgende Dateien gefunden: " & vbNewLine & vbNewline & Join(arrFoundFiles,vbNewLine) & vbNewLine & vbNewLine & "Möchten sie diese nun löschen?", vbQuestion Or vbYesNo) = vbYes Then  
For Each file In arrFoundFiles
fso.DeleteFile file, True
Next
End If
End If
Loop
Function FindFilesRecursive(objFolder, strSearch)
if fso.FileExists(objFolder.Path & "\" & strSearch) Then  
ReDim Preserve arrFoundFiles(cnt)
arrFoundFiles(cnt) = objFolder.Path & "\" & strSearch  
cnt = cnt + 1
End If
for each file in objFolder.Files
If LCase(fso.GetExtensionName(file.Name)) = "lnk" Then  
strTarget = objShell.CreateShortcut(file.Path).TargetPath
For Each f In Array("Bilder","Persönliche Foto")  
If fso.FolderExists(strTarget & "\" & f) then  
FindFilesRecursive fso.GetFolder(strTarget & "\" & f),strSearch  
End if
Next
End If
Next
For Each subfolder In objFolder.SubFolders
FindFilesRecursive subfolder, strSearch
Next
End Function

Beschreibung des Script:
In einer InputBox wird der Dateiname, von der Datei die gesucht und gelöscht werden soll ,eingeben. Entweder kommt das Ergebnis der erfolgreiche Suche und die Meldung mit ja nein Abfrage "Möchten sie diese nun löschen?"
oder bei nicht erfolgreiche Suche kommt die Meldung mit ja nein Abfrage "Die Suche war nicht erfolgreich. Möchten sie die Eingabe wiederholen?"


Zusatz Info:
Wenn die Dateien nicht in Laufwerk_1 sondern in Laufwerk_2 und darin befindlichen Ordner Verknüpfungen gesucht und gelöscht werden sollen, ändert sich das Script in der Zeile 1 von:
Const BASEFOLDER = \\d\rot\Test\Quelle\Verknüpfungen\Laufwerk_1
in: Const BASEFOLDER = \\d\rot\Test\Quelle\Verknüpfungen\Laufwerk_2

Mein Wunsch in der Anwendung:
• Die Auswahl ob in Laufwerk_1 oder Laufwerk_2 soll über eine separate ComboBox erfolgen. Auswahl in der ComboBox wäre dann Laufwerk_1 und Laufwerk_2
(Dim strFolder As String = "\\d\rot\Test\Quelle\Verknüpfungen" & comboTarget.SelectedItem

Content-Key: 312637

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

Printed on: April 26, 2024 at 04:04 o'clock

Mitglied: 129813
129813 Aug 15, 2016 updated at 09:01:23 (UTC)
Goto Top
Member: Biber
Biber Aug 15, 2016 at 11:21:52 (UTC)
Goto Top
Moin highload,

Ich mag das, in einem trockenen Einzeiler zwischen den Zeilen mitzulesen... .face-wink

Moin knuefi,

Ich finde dein Anliegen durchaus legitim und finde auch deine Ehrlichkeit vorbildlich.
Meine Bitte: sollte sich per PN jemand bei dir melden, der diese Auftragsarbeit umsetzt, dann gib kurz Bescheid, damit wir den Beitrag wieder entfernen können.

Normalerweise ist dieses Forum keine IT-Variante von MyHammer.

Grüße
Biber
Member: Knuefi
Knuefi Aug 21, 2016 at 16:38:20 (UTC)
Goto Top
Leider hat sich in diesen Forum keiner gemeldet
@Biber: Bitte Beitrag wieder entfernen
Member: Biber
Solution Biber Aug 23, 2016 at 17:49:48 (UTC)
Goto Top
Wenn es denn so sein soll...

back-to-top### Papierkorb ###


Grüße
Biber
Member: Knuefi
Knuefi Sep 18, 2016 at 17:29:59 (UTC)
Goto Top
###Papierkorb###