Datei ersetzen/Datei Name aus Pfad ändern (need Help)

NightflashX

Newbie
Registriert
Feb. 2010
Beiträge
6
Hey ich bin neu im forum und wollte mal fragen ob mir jemand helfen kann...
Ich hab versucht ein programm zu schreiben das dateien beliebig vergrößert
Ich will das programm die datei vom quellverzeichnis kopieren und danach im zielverzeichnis einfügen kann.(wenn checkbox1.checked =true)
Das wollt ich...
1. machen indem ich vllt "_new" an den dateinamen anhäng...
aber das kann ich nicht weil dahinter ja die dateiendung steht (zb: .exe)
2. machen indem ich die datei ersetze also lösche und wieder einfüg...
Das bekomm ich aber auch nicht hin weil er das in einem befehl macht
(IO.File.Copy(textbox1.text, sfd.filename))

Noch als Info:
Textbox1 = Quellverzeichnis
button2 = Quellverzeichnis suchen
Textbox2 = Zielverzeichnis
button3 = Zielverzeichnis suchen
Button1 = startbutton

Das hier ist ein Ausschnit von dem Bereich der nicht Funktioniert:
Else

sfd.FileName = TextBox1.Text
IO.File.Copy(TextBox1.Text, sfd.FileName)
'My.Computer.FileSystem.DeleteFile(TextBox1.Text)
'IO.File.Create(sfd.FileName)
If RadioButton1.Checked Then
filesize = filesize * 1024
End If
If RadioButton2.Checked Then
filesize = filesize * 1048576 '1024*2
End If
Dim filetopump = IO.File.OpenWrite(sfd.FileName)
Dim size = filetopump.Seek(0, IO.SeekOrigin.[End])
While size < filesize
filetopump.WriteByte(0)
size += 1
End While
filetopump.Close()
MsgBox("Die Datei wurde erfolgreich gepummt!")
End If
End Sub



Und hier der ganze code:
Public Class Form1


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim sfd As New SaveFileDialog
Dim filesize As Double = Val(NumericUpDown1.Value)
Dim ofd As New OpenFileDialog

If CheckBox1.Checked = False Then

'ofd.Filter = "Alle Dateien|*.*|Exe Files|*.exe|Bat Files|*.bat|Vbs Files|*.vbs|Text Files|*.txt|Jpg Files|*.jpg|Png Files|*.png|Ico Files|*.ico|Gif Files|*.gif|Tiff Files|*.tiff" 'Alle Dateien (*.*)|*.*
'ofd.ShowDialog()
'TextBox1.Text = ofd.FileName
sfd.FileName = TextBox2.Text
If TextBox2.Text = "" Then
MsgBox("Du musst eine Zielverzeichnis angeben!")
Else

IO.File.Copy(TextBox1.Text, sfd.FileName)
If RadioButton1.Checked Then
filesize = filesize * 1024
End If
If RadioButton2.Checked Then
filesize = filesize * 1048576 '1024*2
End If
Dim filetopump = IO.File.OpenWrite(sfd.FileName)
Dim size = filetopump.Seek(0, IO.SeekOrigin.[End])
While size < filesize
filetopump.WriteByte(0)
size += 1
End While
filetopump.Close()
MsgBox("Die Datei wurde erfolgreich gepummt!")
End If
Else

sfd.FileName = TextBox1.Text
IO.File.Copy(TextBox1.Text, sfd.FileName)
'My.Computer.FileSystem.DeleteFile(TextBox1.Text)
'IO.File.Create(sfd.FileName)
If RadioButton1.Checked Then
filesize = filesize * 1024
End If
If RadioButton2.Checked Then
filesize = filesize * 1048576 '1024*2
End If
Dim filetopump = IO.File.OpenWrite(sfd.FileName)
Dim size = filetopump.Seek(0, IO.SeekOrigin.[End])
While size < filesize
filetopump.WriteByte(0)
size += 1
End While
filetopump.Close()
MsgBox("Die Datei wurde erfolgreich gepummt!")
End If
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim ofd As New OpenFileDialog
ofd.Filter = "Alle Dateien|*.*|Exe Files|*.exe|Bat Files|*.bat|Vbs Files|*.vbs|Text Files|*.txt|Jpg Files|*.jpg|Png Files|*.png|Ico Files|*.ico|Gif Files|*.gif|Tiff Files|*.tiff" 'Alle Dateien (*.*)|*.*
ofd.ShowDialog()
TextBox1.Text = ofd.FileName

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CheckBox1.Checked = True
TextBox2.BackColor = Color.LightGray
End Sub

Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged

End Sub

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked = False Then
TextBox2.BackColor = Color.White
TextBox2.Text = ""
Else
TextBox2.BackColor = Color.LightGray
End If
End Sub

Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If CheckBox1.Checked = False Then
Dim sfd As New SaveFileDialog
sfd.Filter = "Alle Dateien|*.*|Exe Files|*.exe|Bat Files|*.bat|Vbs Files|*.vbs|Text Files|*.txt|Jpg Files|*.jpg|Png Files|*.png|Ico Files|*.ico|Gif Files|*.gif|Tiff Files|*.tiff"
sfd.ShowDialog()
TextBox2.Text = sfd.FileName
Else
TextBox2.Text = "Die Datei wird ins Quellverzeichnis kopiert!"
End If
End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

End Sub
End Class



Ich hoffe ihr könnt mir schnell helfen... :D

MfG NightflashX
 
Zuletzt bearbeitet:
Huhu,
schnibbel den Dateinamen doch auseinander, füg "_new" ein und häng die Endung wieder dran.

Könnte so aussehen:
Code:
Public Function NewFilename(ByVal filename As String) As String
	If filename.Contains(".") Then
		filename = filename.Substring(0, filename.LastIndexOf(".")) & "_new" & filename.Substring(filename.LastIndexOf("."), filename.Length - filename.LastIndexOf("."))
	End If
	Return filename
End Function
 
Die idee hat ich auch schon aber ich wusste nicht wie ich das anstellen soll..
thx für den code^^

kannst du vllt meinen code kopieren und das da einfügen?
ich weiß nicht wie/wo ich das einfügen muss...


MfG Nightflash
 
Dat is ne Funktion, hau die einfach mit in die Class rein ^^
Und dann so benutzen:
Code:
sfd.FileName = NewFilename(TextBox1.Text)
 
Zurück
Oben