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
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
|