[.NET] Ordner erstellen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Cuupa, 8. November 2008 .

Schlagworte:
  1. 8. November 2008
    Ordner erstellen

    hi, könnte vll mal jemand gucken warum der Code nicht funktioniert? ich bin am verzweifeln

    Code:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     Pfad = File.ReadAllText("C:\settings.ini")
     MkDir(Pfad) 'funktioniert
     MkDir(Pfad & "\" & Date.Now.Date & "\") 'funktioniert nich ?( ?( 
    
    
    
     'File.AppendAllText(Pfad, h & ":" & min & ":" & sec)
     End Sub
     
  2. 8. November 2008
    AW: Ordner erstellen

    Kommt eine Fehlermeldung? Wenn ja, welche? Was steht in der settings.ini?
     
  3. 8. November 2008
    AW: Ordner erstellen

    settings.ini
    Code:
    K:\log\
    und es kommt keine fehlermeldung

    und es soll halt in dem ordner log ein ordner erstellt werden der halt wie das aktuelle datum heißt
     
  4. 8. November 2008
    AW: Ordner erstellen

    Habs grade mit dem Inhalt

    Code:
    C:\log
    in der settings.ini probiert und der hat beide Ordner ( C:\log und C:\log\08.11.2008 ) erstellt. Hast du vielleicht Zeilenumbrüche/Tabs/Leerzeichen in der settings.ini oder gibt es K:\ nicht?
     
  5. 8. November 2008
    AW: Ordner erstellen

    K:\ ist meine Externe und Zeilenumbrüche habe ich auch keine


    ....mit C:\ geht das aber K:\ will nich

    edit: Es geht doch, aber ich musste vorher den leeren ordner löschen.....woran könnte das liegen? Mit den Textdateien ist es das selbe....der legt die datei log.txt erst an wenn ich den kompletten ordner gelöscht habe
     
  6. 8. November 2008
    AW: Ordner erstellen

    Welchen leeren Ordner musstest du löschen? Und poste am besten nochmal den ganzen Code (in dem Code von oben wird ja keine log.txt angelegt)
     
  7. 9. November 2008
    AW: Ordner erstellen

    die sollte ja auch nicht angezeigt werden, ich wollte mir so eine art Blackbox programmieren.

    Naja, ich habe jetzt im Internet eine andere Lösung gefunden, trotzdem vielen dank .

    BW haste

    BTW: Wie kann man eine Datei automatisch regelmäßig speichern?
     
  8. 9. November 2008
    AW: Ordner erstellen

    Mit dem Timer-Control:

    Code:
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     'Code zum Speichern der Datei
    End Sub
    Das Intervall wird in Millisekunden angegeben (1000 Millisekunden = 1 Sekunde). Nach Ablauf des Intervalls wird eben immer die Sub Timer1_Tick aufgerufen, in der der Code fürs Speichern der Datei steht.
     
  9. 9. November 2008
    AW: Ordner erstellen

    Ok zurück zu meinem ursprünglichem Problem (sorry wenn ich hier querbeet Fragen stelle)

    Die Methode createDir() will immer noch nicht. Das Programm zickt rum wenn der Ordner schon existiert. Dies äußert sich darin, das ListBox1 und logfile.log leer bleiben. Wenn der Ordner nicht existiert schön und gut, er wird angelegt und das Programm arbeitet so wie es soll, aber wie gesagt nicht wenn der Ordner schon existiert...

    Ebenfalls Hilfe bräuchte ich bei der Methode sort() Sie soll halt den Text nach Schlüsselwörtern durchsuchen und dann alle zeilen löschen, in denen diese Wörter vor kommen.

    Danke schonmal
    MfG
    Cuupa

    Source:
    Code:
    Imports System.IO
    Imports System.Environment
    
    Public Class Form1
     Inherits System.Windows.Forms.Form
     Dim Pfad
     Dim h
     Dim min
     Dim sec
     Dim fso
    
    #Region " Vom Windows Form Designer generierter Code "
     Public Sub New()
     MyBase.New()
    
     ' Dieser Aufruf ist für den Windows Form-Designer 
     ' erforderlich.
     InitializeComponent()
    
     ' Initialisierungen nach dem Aufruf InitializeComponent()
     ' hinzufügen
     
     AddHandler FileSystemWatcher1.Changed, AddressOf OnChanged
     AddHandler FileSystemWatcher1.Created, AddressOf OnChanged
     AddHandler FileSystemWatcher1.Deleted, AddressOf OnChanged
     AddHandler FileSystemWatcher1.Renamed, AddressOf OnRenamed
    
     AddHandler FileSystemWatcher2.Changed, AddressOf OnChanged
     AddHandler FileSystemWatcher2.Created, AddressOf OnChanged
     AddHandler FileSystemWatcher2.Deleted, AddressOf OnChanged
     AddHandler FileSystemWatcher2.Renamed, AddressOf OnRenamed
    
     AddHandler FileSystemWatcher3.Changed, AddressOf OnChanged
     AddHandler FileSystemWatcher3.Created, AddressOf OnChanged
     AddHandler FileSystemWatcher3.Deleted, AddressOf OnChanged
     AddHandler FileSystemWatcher3.Renamed, AddressOf OnRenamed
    
    
    
     End Sub
     '...
    #End Region
    
     Private sLogFile As String = "K:\$log\" & Date.Now.Date & "\logFile.log"
    
     Sub OnChanged(ByVal source As Object, ByVal e As _
     FileSystemEventArgs)
     ListBox1.Items.Add(e.ChangeType.ToString & ": " & _
     e.FullPath & " " & DateTime.Now.ToString)
     ListBox1.SelectedIndex = ListBox1.Items.Count - 1
     End Sub
    
     Sub OnRenamed(ByVal source As Object, ByVal e As _
     RenamedEventArgs)
     ListBox1.Items.Add(e.ChangeType.ToString & ": " & _
     e.OldFullPath & vbNewLine & _
     " neuer Name: --> " & e.FullPath & " " & _
     DateTime.Now.ToString)
     ListBox1.SelectedIndex = ListBox1.Items.Count - 1
     End Sub
    
     Private Sub StartWatchingC()
     FileSystemWatcher1.Path = "C:\"
     FileSystemWatcher1.NotifyFilter = _
     (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or _
     NotifyFilters.FileName Or NotifyFilters.DirectoryName)
     FileSystemWatcher1.IncludeSubdirectories = True
    
     Dim pattern As String = TextBox2.Text
     If pattern = "*" Or pattern = "*.*" Then
     pattern = ""
     End If
     FileSystemWatcher1.Filter = pattern
     FileSystemWatcher1.EnableRaisingEvents = True
     ListBox1.Items.Clear()
     ListBox1.Items.Add(DateTime.Now.ToString)
     ListBox1.Items.Add("Überwachung beginnt...")
     ListBox1.Items.Add("-----------------------------------------")
    
     End Sub
    
    
     Private Sub StartWatchingD()
     FileSystemWatcher2.Path = "D:\"
     FileSystemWatcher2.NotifyFilter = _
     (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or _
     NotifyFilters.FileName Or NotifyFilters.DirectoryName)
     FileSystemWatcher1.IncludeSubdirectories = True
     Dim pattern As String = TextBox2.Text
     If pattern = "*" Or pattern = "*.*" Then
     pattern = ""
     End If
     FileSystemWatcher2.Filter = pattern
     FileSystemWatcher2.EnableRaisingEvents = True
    
     End Sub
    
     Private Sub StartWatchingE()
     FileSystemWatcher3.Path = "E:\"
     FileSystemWatcher3.NotifyFilter = _
     (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or _
     NotifyFilters.FileName Or NotifyFilters.DirectoryName)
     FileSystemWatcher1.IncludeSubdirectories = True
     Dim pattern As String = TextBox2.Text
     If pattern = "*" Or pattern = "*.*" Then
     pattern = ""
     End If
     FileSystemWatcher3.Filter = pattern
     FileSystemWatcher3.EnableRaisingEvents = True
     
     End Sub
    
    
    
     Private Sub SaveListbox(ByVal ListBox As ListBox, _
     ByVal sFile As String)
     Dim stream As IO.StreamWriter
     Dim i As Short
    
     stream = New IO.StreamWriter(sFile)
     For i = 0 To CShort(ListBox.Items.Count - 1)
     stream.WriteLine(ListBox.Items(i))
     Next
     stream.Close()
     End Sub
    
     Private Sub createDir()
     Pfad = "K:\$log" & Date.Now.Date & "\"
    
     If fso.folderExists(Pfad) = False Then
     MkDir("K:\$log")
     MkDir("K:\$log\" & Date.Now.Date & "\")
     Else
     Exit Sub
     End If
     End Sub
    
    
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
     'createDir()
    
     StartWatchingC()
     StartWatchingD()
     StartWatchingE()
    
     sort()
     
    
     End Sub
    
     Private Sub Form1_Closing(ByVal sender As Object, _
     ByVal e As System.ComponentModel.CancelEventArgs) _
     Handles MyBase.Closing
     SaveListbox(ListBox1, sLogFile)
     End Sub
    
    
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
     SaveListbox(ListBox1, sLogFile)
     End Sub
    
     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     SaveListbox(ListBox1, sLogFile)
     End Sub
    
     Private Sub sort()
     If ListBox1.Items.Contains("Spybot" Or "comodo" Or "tobit clipinc" Or "opera") Then
     ListBox1.Items.Remove("spybot")
     End If
    
    
     End Sub
    End Class
    
     
  10. 9. November 2008
    AW: Ordner erstellen

    Du verwendest doch .NET oder?
    Ich nehme mal an mit FSO meinst du FileSystemObject (was komischerweise im von dir geoposteten Code nirgendwo richtig deklariert und initialisiert wird ).
    Anyway, wenn du .NET benutzt (afaik ab 2.0) kannst du besser My.Computer.Filesystem verwenden:
    Code:
    Private Sub createDir()
     Pfad = "K:\$log" & Date.Now.Date & "\"
     If My.Computer.FileSystem.DirectoryExists(Pfad) = False Then
     My.Computer.FileSystem.CreateDirectory("K:\$log\" & Date.Now.Date & "\")
     Else
     Exit Sub
     End If
    End Sub
    MfG Acor
     
  11. 9. November 2008
    AW: Ordner erstellen

    Code:
    
     Private Sub sort()
     remove("Spybot")
     remove("comodo")
     remove("tobit clipinc")
     remove("opera")
     End Sub
    
     Private Sub remove(ByVal what As Object)
     Do While ListBox1.Items.Contains(what)
     ListBox1.Items.Remove(what)
     Loop
     End Sub
    
    
     
  12. 9. November 2008
    AW: Ordner erstellen

    Danke, BW haste.

    Aber wenn ich das richtig verstanden habe löscht der dann nur die Wörter raus, aber ich habe aber vor dann den gesammten Pfad zu löschen, also nicht nur Spybot sondern C:\ProgramFiles\Spybot\blablubb.lol
     
  13. 9. November 2008
    AW: Ordner erstellen

    Was steht denn in der ListBox genau alles drin?
    Ansonsten, Dateien löschen kannste mit My.Computer.FileSystem.DeleteFile()
     
  14. 9. November 2008
    AW: Ordner erstellen

    Ok, jetzt haben wir beide aneinander vorbei geredet

    Ich will nich die Datei löschen sondern das was in der ListBox steht, aber halt nicht Spybot sondern halt "C:\ProgramFiles\Spybot\blablubb.lol", was aber keine Datei ist sondern das was in der ListBox steht.
     
  15. 10. November 2008
    AW: Ordner erstellen

    Code:
     Private Sub remove(ByVal such As String)
     Dim I As Integer
     Dim ende As Integer = ListBox1.Items.Count
     Do While I < ende
     If ListBox1.Items(I).ToString.IndexOf(such, comparisonType:=StringComparison.CurrentCultureIgnoreCase) > -1 Then
     ListBox1.Items.RemoveAt(I)
     ende = ende - 1
     Else
     I = I + 1
     End If
     Loop
     End Sub
     
  16. 10. November 2008
    AW: Ordner erstellen

    Bissel umständlich, aber ich glaube er will Dateien löschen, nicht den Eintrag aus der Listbox.


    Verzeichnisse anlegen und löschen: Codebeispiel für Visual Basic .NET (VB.NET) und CSharp (C#)

    Kannst auch googlen.

    mfg

    EDIT: habs doch irgendwie flasch verstanden.. sry
    ListBox1.Items.RemoveAt(I) ist vollkommen richtig.
     
  17. 10. November 2008
    AW: Ordner erstellen

    ääääääääääääh
     
  18. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.