Hallo miteinander .
Folgende Frage :
Ich wollte mir ein kleines Tool machen um Sonderzeichen aus Ordnernamen - oder - Dateinamen zu entfernen .
So weit bin ich bisher und wollte mal fragen ob ich's so oder besser anders machen sollte
Muss den Code leider in schwarz abbilden - da er durch eine fehlerhafte Darstellung 2/3 in rot zeigen würde
Hab ihn etwas gestreckt für bessere Übersicht
Lg
Spoiler anzeigen
Und einmal in Farbe
Spoiler anzeigen
Folgende Frage :
Ich wollte mir ein kleines Tool machen um Sonderzeichen aus Ordnernamen - oder - Dateinamen zu entfernen .
So weit bin ich bisher und wollte mal fragen ob ich's so oder besser anders machen sollte
Muss den Code leider in schwarz abbilden - da er durch eine fehlerhafte Darstellung 2/3 in rot zeigen würde
Hab ihn etwas gestreckt für bessere Übersicht
Lg
Quellcode
- 'Sonderzeichen aus Ordnernamen oder Dateinamen entfernen .
- Option Strict On
- Public Class Form1
- 'Speicherdatei für Eingabeboxen
- Dim Configuration_Save_Pfad As String = "Sonderzeichen_Cleaner_Configuration_Save.txt"
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- 'Form immer im Fordergrund
- TopMost = True
- 'Prüfen ob Datei schon Exsistiert
- If System.IO.File.Exists(Configuration_Save_Pfad) Then
- 'Wenn ja gespeicherte Zeile lesen und in die passenden TextBoxen schreiben
- Using sr As New IO.StreamReader(Configuration_Save_Pfad)
- Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Text = sr.ReadLine()
- Sonderzeichenersatz_für_Ordnernamen_TextBox.Text = sr.ReadLine()
- Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Text = sr.ReadLine()
- Sonderzeichenersatz_für_Dateinamen_TextBox.Text = sr.ReadLine()
- sr.Close()
- End Using
- End If
- End Sub
- Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
- 'TextBoxen beim schliessen der Form in Datei speichern
- Using sw As New IO.StreamWriter(Configuration_Save_Pfad)
- sw.WriteLine(Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Text)
- sw.WriteLine(Sonderzeichenersatz_für_Ordnernamen_TextBox.Text)
- sw.WriteLine(Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Text)
- sw.WriteLine(Sonderzeichenersatz_für_Dateinamen_TextBox.Text)
- sw.Close()
- End Using
- End Sub
- 'Sonderzeichen aus Ordnernamen entfernen
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- 'Button Sound
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- 'Prüfen ob benötigte Eingabeboxen nicht leer sind
- If Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Text = "" Or Sonderzeichenersatz_für_Ordnernamen_TextBox.Text = "" Then
- MsgBox("Die Felder - ( Verbotene Zeichen - oder - Ersetzen mit ) - sind nicht richtig ausgefüllt !", MsgBoxStyle.Critical)
- Else
- 'Wenn nicht leer = OrdnerBrowser Go
- If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
- 'Button Text ändern
- Button1.Text = "Bitte warten..."
- 'Alle Ordner in Pfad durchlaufen
- For Each Ordner In My.Computer.FileSystem.GetDirectories(FolderBrowserDialog1.SelectedPath)
- Try 'Ordnername aus Pfad extrahieren
- Dim Ordnername As String = Ordner.Substring(Ordner.LastIndexOf("\") + 1)
- 'Prüfen ob der Ordnername verbotene Zeichen enthällt
- If System.Text.RegularExpressions.Regex.IsMatch(Ordnername, "[" & Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Text & "]") Then
- 'Wenn ja - Function Clean_Ordnername - aufrufen, Sonderzeichen entfernen und Ordner mit Renam umbenennen
- My.Computer.FileSystem.RenameDirectory(Ordner, Clean_Ordnername(Ordnername, Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Text, Sonderzeichenersatz_für_Ordnernamen_TextBox.Text))
- End If
- Catch ex As Exception 'Fehler Ausgabe
- MsgBox(ex.Message.ToString)
- End Try
- Next
- 'Wenn fertig : Button Text ändern auf ausgangs Text + Binnnngggg
- Button1.Text = "Alle Ordnernamen in einem Ordner säubern"
- My.Computer.Audio.Play(My.Resources.bell, AudioPlayMode.Background)
- End If
- End If
- End Sub
- 'Sonderzeichen aus Dateinamen entfernen
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- 'Button Sound
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- 'Prüfen ob benötigte Eingabeboxen nicht leer sind
- If Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Text = "" Or Sonderzeichenersatz_für_Dateinamen_TextBox.Text = "" Then
- MsgBox("Die Felder - ( Verbotene Zeichen - oder - Ersetzen mit ) - sind nicht richtig ausgefüllt !", MsgBoxStyle.Critical)
- Else
- 'Wenn nicht leer = OrdnerBrowser Go
- If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
- 'Button Text ändern
- Button2.Text = "Bitte warten..."
- 'Alle Dateien in Pfad durchlaufen
- For Each Dateien In My.Computer.FileSystem.GetFiles(FolderBrowserDialog1.SelectedPath)
- Try
- 'Dateiname aus Pfad extrahieren
- Dim Dateiname As String = IO.Path.GetFileName(Dateien)
- 'Prüfen ob der Dateiname verbotene Zeichen enthällt
- If System.Text.RegularExpressions.Regex.IsMatch(Dateiname, "[" & Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Text & "]") Then
- 'Wenn ja - Function Clean_Dateiname - aufrufen, Sonderzeichen entfernen und Datei mit Renam umbenennen
- My.Computer.FileSystem.RenameFile(Dateien, Clean_Dateiname(Dateiname, Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Text, Sonderzeichenersatz_für_Dateinamen_TextBox.Text))
- End If
- Catch ex As Exception 'Fehler Ausgabe
- MsgBox(ex.Message.ToString)
- End Try
- Next
- 'Wenn fertig : Button Text ändern auf ausgangs Text + Binnnngggg
- Button2.Text = "Alle Dateinamen in einem Ordner säubern"
- My.Computer.Audio.Play(My.Resources.bell, AudioPlayMode.Background)
- End If
- End If
- End Sub
- 'Sonderzeichen aus Ordnernamen entfernen Function
- Public Function Clean_Ordnername(ByVal Dateiname As String, ByVal Verbotene_Zeichen As String, ByVal Ersatzzeichen As String) As String
- Dim s As String = ""
- If CheckBox2.Checked = False Then
- 'Mehrere Sonderzeichen hintereinander = einen ersatzzeichen !
- s = System.Text.RegularExpressions.Regex.Replace(Dateiname, "[" & Verbotene_Zeichen & "]", Ersatzzeichen)
- Else
- 'Mehrere Sonderzeichen hintereinander = mehrere ersatzzeichen !
- s = System.Text.RegularExpressions.Regex.Replace(Dateiname, "[" & Verbotene_Zeichen & "]+", Ersatzzeichen)
- End If
- Return s
- End Function
- 'Sonderzeichen aus Dateinamen entfernen Function
- Public Function Clean_Dateiname(ByVal Dateiname As String, ByVal Verbotene_Zeichen As String, ByVal Ersatzzeichen As String) As String
- Dim s As String = ""
- If CheckBox2.Checked = False Then
- 'Mehrere Sonderzeichen hintereinander = einen ersatzzeichen !
- s = System.Text.RegularExpressions.Regex.Replace(Dateiname, "[" & Verbotene_Zeichen & "]", Ersatzzeichen)
- Else
- 'Mehrere Sonderzeichen hintereinander = mehrere ersatzzeichen !
- s = System.Text.RegularExpressions.Regex.Replace(Dateiname, "[" & Verbotene_Zeichen & "]+", Ersatzzeichen)
- End If
- Return s
- End Function
- 'Eingabeboxen leeren
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Clear()
- Sonderzeichenersatz_für_Ordnernamen_TextBox.Clear()
- End Sub
- 'Eingabeboxen leeren
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Clear()
- Sonderzeichenersatz_für_Dateinamen_TextBox.Clear()
- End Sub
- 'Sound CheckBox1
- Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- End Sub
- 'Sound CheckBox2
- Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- End Sub
- End Class
Und einmal in Farbe
VB.NET-Quellcode
- 'Sonderzeichen aus Ordnernamen oder Dateinamen entfernen .
- Option Strict On
- Public Class Form1
- 'Speicherdatei für Eingabeboxen
- Dim Configuration_Save_Pfad As String = "Sonderzeichen_Cleaner_Configuration_Save.txt"
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- 'Form immer im Fordergrund
- TopMost = True
- 'Prüfen ob Datei schon Exsistiert
- If System.IO.File.Exists(Configuration_Save_Pfad) Then
- 'Wenn ja gespeicherte Zeile lesen und in die passenden TextBoxen schreiben
- Using sr As New IO.StreamReader(Configuration_Save_Pfad)
- Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Text = sr.ReadLine()
- Sonderzeichenersatz_für_Ordnernamen_TextBox.Text = sr.ReadLine()
- Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Text = sr.ReadLine()
- Sonderzeichenersatz_für_Dateinamen_TextBox.Text = sr.ReadLine()
- sr.Close()
- End Using
- End If
- End Sub
- Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
- 'TextBoxen beim schliessen der Form in Datei speichern
- Using sw As New IO.StreamWriter(Configuration_Save_Pfad)
- sw.WriteLine(Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Text)
- sw.WriteLine(Sonderzeichenersatz_für_Ordnernamen_TextBox.Text)
- sw.WriteLine(Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Text)
- sw.WriteLine(Sonderzeichenersatz_für_Dateinamen_TextBox.Text)
- sw.Close()
- End Using
- End Sub
- 'Sonderzeichen aus Ordnernamen entfernen
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- 'Button Sound
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- 'Prüfen ob benötigte Eingabeboxen nicht leer sind
- If Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Text = "" Or Sonderzeichenersatz_für_Ordnernamen_TextBox.Text = "" Then
- MsgBox("Die Felder - ( Verbotene Zeichen - oder - Ersetzen mit ) - sind nicht richtig ausgefüllt !", MsgBoxStyle.Critical)
- Else
- 'Wenn nicht leer = OrdnerBrowser Go
- If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
- 'Button Text ändern
- Button1.Text = "Bitte warten..."
- 'Alle Ordner in Pfad durchlaufen
- For Each Ordner In My.Computer.FileSystem.GetDirectories(FolderBrowserDialog1.SelectedPath)
- Try 'Ordnername aus Pfad extrahieren
- Dim Ordnername As String = Ordner.Substring(Ordner.LastIndexOf("\") + 1)
- 'Prüfen ob der Ordnername verbotene Zeichen enthällt
- If System.Text.RegularExpressions.Regex.IsMatch(Ordnername, "[" & Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Text & "]") Then
- 'Wenn ja - Function Clean_Ordnername - aufrufen, Sonderzeichen entfernen und Ordner mit Renam umbenennen
- My.Computer.FileSystem.RenameDirectory(Ordner, Clean_Ordnername(Ordnername, Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Text, Sonderzeichenersatz_für_Ordnernamen_TextBox.Text))
- End If
- Catch ex As Exception 'Fehler Ausgabe
- MsgBox(ex.Message.ToString)
- End Try
- Next
- 'Wenn fertig : Button Text ändern auf ausgangs Text + Binnnngggg
- Button1.Text = "Alle Ordnernamen in einem Ordner säubern"
- My.Computer.Audio.Play(My.Resources.bell, AudioPlayMode.Background)
- End If
- End If
- End Sub
- 'Sonderzeichen aus Dateinamen entfernen
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- 'Button Sound
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- 'Prüfen ob benötigte Eingabeboxen nicht leer sind
- If Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Text = "" Or Sonderzeichenersatz_für_Dateinamen_TextBox.Text = "" Then
- MsgBox("Die Felder - ( Verbotene Zeichen - oder - Ersetzen mit ) - sind nicht richtig ausgefüllt !", MsgBoxStyle.Critical)
- Else
- 'Wenn nicht leer = OrdnerBrowser Go
- If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
- 'Button Text ändern
- Button2.Text = "Bitte warten..."
- 'Alle Dateien in Pfad durchlaufen
- For Each Dateien In My.Computer.FileSystem.GetFiles(FolderBrowserDialog1.SelectedPath)
- Try
- 'Dateiname aus Pfad extrahieren
- Dim Dateiname As String = IO.Path.GetFileName(Dateien)
- 'Prüfen ob der Dateiname verbotene Zeichen enthällt
- If System.Text.RegularExpressions.Regex.IsMatch(Dateiname, "[" & Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Text & "]") Then
- 'Wenn ja - Function Clean_Dateiname - aufrufen, Sonderzeichen entfernen und Datei mit Renam umbenennen
- My.Computer.FileSystem.RenameFile(Dateien, Clean_Dateiname(Dateiname, Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Text, Sonderzeichenersatz_für_Dateinamen_TextBox.Text))
- End If
- Catch ex As Exception 'Fehler Ausgabe
- MsgBox(ex.Message.ToString)
- End Try
- Next
- 'Wenn fertig : Button Text ändern auf ausgangs Text + Binnnngggg
- Button2.Text = "Alle Dateinamen in einem Ordner säubern"
- My.Computer.Audio.Play(My.Resources.bell, AudioPlayMode.Background)
- End If
- End If
- End Sub
- 'Sonderzeichen aus Ordnernamen entfernen Function
- Public Function Clean_Ordnername(ByVal Dateiname As String, ByVal Verbotene_Zeichen As String, ByVal Ersatzzeichen As String) As String
- Dim s As String = ""
- If CheckBox2.Checked = False Then
- 'Mehrere Sonderzeichen hintereinander = einen ersatzzeichen !
- s = System.Text.RegularExpressions.Regex.Replace(Dateiname, "[" & Verbotene_Zeichen & "]", Ersatzzeichen)
- Else
- 'Mehrere Sonderzeichen hintereinander = mehrere ersatzzeichen !
- s = System.Text.RegularExpressions.Regex.Replace(Dateiname, "[" & Verbotene_Zeichen & "]+", Ersatzzeichen)
- End If
- Return s
- End Function
- 'Sonderzeichen aus Dateinamen entfernen Function
- Public Function Clean_Dateiname(ByVal Dateiname As String, ByVal Verbotene_Zeichen As String, ByVal Ersatzzeichen As String) As String
- Dim s As String = ""
- If CheckBox2.Checked = False Then
- 'Mehrere Sonderzeichen hintereinander = einen ersatzzeichen !
- s = System.Text.RegularExpressions.Regex.Replace(Dateiname, "[" & Verbotene_Zeichen & "]", Ersatzzeichen)
- Else
- 'Mehrere Sonderzeichen hintereinander = mehrere ersatzzeichen !
- s = System.Text.RegularExpressions.Regex.Replace(Dateiname, "[" & Verbotene_Zeichen & "]+", Ersatzzeichen)
- End If
- Return s
- End Function
- 'Eingabeboxen leeren
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- Verbotene_Sonderzeichen_für_Ordnernamen_TextBox.Clear()
- Sonderzeichenersatz_für_Ordnernamen_TextBox.Clear()
- End Sub
- 'Eingabeboxen leeren
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- Verbotene_Sonderzeichen_für_Dateinamen_TextBox.Clear()
- Sonderzeichenersatz_für_Dateinamen_TextBox.Clear()
- End Sub
- 'Sound CheckBox1
- Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- End Sub
- 'Sound CheckBox2
- Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged
- My.Computer.Audio.Play(My.Resources.button, AudioPlayMode.Background)
- End Sub
- End Class