You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
4.0 KiB

Imports System.IO
Imports System.Threading
Imports System.Xml
Module Module1
Private Enum Enum_MapTyp
Mappen = 0
Loeschen = 1
End Enum
Sub Main()
makeNetUse(Enum_MapTyp.Mappen)
Move_Files_to_Localsystem()
makeNetUse(Enum_MapTyp.Loeschen)
End Sub
Sub Move_Files_to_Localsystem()
Dim di As New DirectoryInfo(My.Settings.SourceFiles)
For Each subdi As DirectoryInfo In di.GetDirectories
Dim FileExists As Boolean = False
For Each filename As String In IO.Directory.GetFiles(My.Settings.SourceFiles + "\" + subdi.Name, "*.pdf")
If File.Exists(My.Settings.TempFIle + IO.Path.GetFileName(filename)) Then FileExists = True
Next
For Each filename As String In IO.Directory.GetFiles(My.Settings.SourceFiles + "\" + subdi.Name, "*.xml")
If File.Exists(My.Settings.TempFIle + subdi.Name + "_" + IO.Path.GetFileName(filename)) Then FileExists = True
Next
If Not FileExists Then
For Each filename As String In IO.Directory.GetFiles(My.Settings.SourceFiles + "\" + subdi.Name, "*.pdf")
If My.Settings.EindeutigePDF = 1 Then
File.Move(filename, My.Settings.TempFIle + subdi.Name + "_" + IO.Path.GetFileName(filename))
Else
File.Move(filename, My.Settings.TempFIle + IO.Path.GetFileName(filename))
End If
Next
For Each filename As String In IO.Directory.GetFiles(My.Settings.SourceFiles + "\" + subdi.Name, "*.xml")
If My.Settings.EindeutigePDF = 1 Then
Dim xmldoc As New Xml.XmlDocument
xmldoc.Load(filename)
Dim root As XmlElement = xmldoc.DocumentElement
Dim elemList As XmlNodeList = root.GetElementsByTagName("DATEINAME")
Dim i As Integer
For i = 0 To elemList.Count - 1
Dim sfilename As String = My.Settings.TempFIle + subdi.Name + "_" + IO.Path.GetFileName(filename) + ".ind"
Dim dateiname As String = elemList.ItemOf(i).InnerXml
elemList.Item(i).InnerXml = subdi.Name + "_" + dateiname
Next
xmldoc.Save(My.Settings.TempFIle + subdi.Name + "_" + IO.Path.GetFileName(filename) + ".ind")
File.Delete(filename)
Else
File.Move(filename, My.Settings.TempFIle + subdi.Name + "_" + IO.Path.GetFileName(filename) + ".ind")
End If
Next
Thread.Sleep(2000)
Dim counter As Integer = 0
For Each filename As String In IO.Directory.GetFiles(My.Settings.SourceFiles + "\" + subdi.Name, "*.*")
counter = counter + 1
Next
If counter = 0 Then
Dim di1 As New IO.DirectoryInfo(My.Settings.SourceFiles + "\" + subdi.Name)
di1.Delete()
End If
End If
Next
End Sub
Private Function makeNetUse(ByVal iTyp As Enum_MapTyp) As Integer
'Net Use ausführen
Dim cmdret As Integer
Try
If iTyp = Enum_MapTyp.Mappen Then
cmdret = Shell("Net Use " & My.Settings.NetUse & " " & My.Settings.Passwort & " /user:" & My.Settings.User, AppWinStyle.NormalFocus, True)
Else
cmdret = Shell("Net Use " & My.Settings.SourceFiles & " /d /y", AppWinStyle.NormalFocus, True)
End If
makeNetUse = cmdret
Catch ex As Exception
Write_Debug("MakeNetUse:" + ex.Message)
End Try
End Function
Sub Write_Debug(Text As String)
If My.Settings.Debug = 1 Then
FileOpen(1, My.Settings.DebugFile, OpenMode.Append)
WriteLine(1, Text)
FileClose(1)
End If
End Sub
End Module