-
21. 01. 2010, 17:19 #1
Mit VB Net CMD Befehle ausführen?
Gibt es eine Möglichkeit CMD Befehle wie
in VB zu verwenden?Code:ren asd.txt asd.exe
-
21. 01. 2010, 17:22 #2Mitglied
- Registriert seit
- May 2009
- Beiträge
- 110
Re: Mit VB Net CMD Befehle ausführen?
-
21. 01. 2010, 17:49 #3
-
21. 01. 2010, 18:03 #4
Re: Mit VB Net CMD Befehle ausführen?
-
21. 01. 2010, 18:04 #5
-
21. 01. 2010, 18:12 #6
Re: Mit VB Net CMD Befehle ausführen?
Wozu benutzt du Intelligenzbolzen dann VB? Warum kein Batch?
Und natürlich geht das in VB.
-
21. 01. 2010, 18:12 #7Great Wizzard
- Registriert seit
- Nov 2009
- Ort
- Unseen University
- Beiträge
- 253
Re: Mit VB Net CMD Befehle ausführen?
Geht beispielsweise per Shell("copy /b asd.rar + asd.jpg asdf.jpg")
Ohne diese Krücke geht das aber um einiges "eleganter" mit der Verwendung von Filestreams und Streamwriter- bzw readern.
-
21. 01. 2010, 18:21 #8
Re: Mit VB Net CMD Befehle ausführen?
Du erstellt zu jeder Quell- und Ziel-Datei einen FileStream.
Wichtig hierbei ist da bei den Quellstreams du bei dem Konstruktor (New) eben Read nimmst und bei den Zielstreams Write.
Die Quellstreams liest du dann mit den StreamReader aus (in ein Byte Array), und schreibst es dann in die Zieldatei mit einem StreamWriter.
Und so Deaklarierst du ein Bytearray:
mfgCode:Dim Buffer(1024) as Byte
HyP3r
-
21. 01. 2010, 18:27 #9
Re: Mit VB Net CMD Befehle ausführen?
hab es mal in C# geschrieben (CopyStream ist von Stream.CopyTo in .net4 geklaut)
Spoiler:
PHP-Code:using System.IO;
class Program
{
static void Main(string[] args)
{
using (Stream s1 = File.OpenRead("asd.rar"))
using (Stream s2 = File.OpenRead("asd.jpg"))
using (Stream s3 = File.OpenWrite("asdf.jpg"))
{
CopyStream(s1, s3);
CopyStream(s2, s3);
}
}
static void CopyStream(Stream src, Stream dst)
{
int num = 4096;
byte[] buffer = new byte[num];
while ((num = src.Read(buffer, 0, buffer.Length)) != 0)
{
dst.Write(buffer, 0, num);
}
}
}
und dann in VB konvertiert
keine Ahnung ob der VB wirklich funktioniert
PHP-Code:Imports System.IO
Class Program
Private Shared Sub Main(ByVal args As String())
Using s1 As Stream = File.OpenRead("asd.rar")
Using s2 As Stream = File.OpenRead("asd.jpg")
Using s3 As Stream = File.OpenWrite("asdf.jpg")
CopyStream(s1, s3)
CopyStream(s2, s3)
End Using
End Using
End Using
End Sub
Private Shared Sub CopyStream(ByVal src As Stream, ByVal dst As Stream)
Dim num As Integer = 4096
Dim buffer As Byte() = New Byte(num - 1) {}
While (InlineAssignHelper(num, src.Read(buffer, 0, buffer.Length))) <> 0
dst.Write(buffer, 0, num)
End While
End Sub
Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, ByVal value As T) As T
target = value
Return value
End Function
End Class
-
21. 01. 2010, 18:49 #10
Re: Mit VB Net CMD Befehle ausführen?
Kleiner vielleicht auch bessere/schlechtere Lösung von mir:
mfgPHP-Code:Public Sub CopyEx(ByVal SourceFiles() As String, ByVal DesinationFile As String)
Dim Buffer(1024) As Byte
Dim read As Integer
Dim Src_BinaryReader As System.IO.BinaryReader
Dim Src_FileStream As System.IO.FileStream
Dim Dst_BinaryWriter As System.IO.BinaryWriter
Dim Dst_FileStream As System.IO.FileStream
Dst_FileStream = New System.IO.FileStream(DesinationFile, IO.FileMode.Create, IO.FileAccess.Write)
Dst_BinaryWriter = New System.IO.BinaryWriter(Dst_FileStream)
For Each sFile As String In SourceFiles
Src_FileStream = New System.IO.FileStream(sFile, IO.FileMode.Open, IO.FileAccess.Read)
Src_BinaryReader = New System.IO.BinaryReader(Src_FileStream)
Do
read = Src_BinaryReader.Read(Buffer, 0, Buffer.Length)
Dst_BinaryWriter.Write(Buffer, 0, read)
Loop Until read = 0
Src_BinaryReader.Close()
Src_FileStream.Close()
Next
Dst_BinaryWriter.Close()
Dst_FileStream.Close()
End Sub
HyP3r
-
21. 01. 2010, 20:04 #11
Re: Mit VB Net CMD Befehle ausführen?
Code:Shell("cmd /c " & Chr(34) & "der befehl" & Chr(34))
habs raus danke an all die mühen 
-
22. 01. 2010, 06:46 #12
Re: Mit VB Net CMD Befehle ausführen?
Nochmal: Warum benutzt du kein Batch?
http://www.gidnetwork.com/b-61.html
bzw. http://null-board.com/showthread.php?tid=36
(Schleichwerbung
)
Das lässt sich genauso gut auf andere Sprachen übertragen.
Benutz gefälligst Features der Sprachen.
-
22. 01. 2010, 15:15 #13
-
22. 01. 2010, 15:27 #14
Re: Mit VB Net CMD Befehle ausführen?
Dateien "verschmelzen" sollte man auch in diversren Sprachen umsetzen können.nicht auf eine andere Programmiersprache übertragen. Oder wie sollte man das /b Parameter umsetzen
-
22. 01. 2010, 15:31 #15
-
22. 01. 2010, 15:42 #16
Re: Mit VB Net CMD Befehle ausführen?
Weiß du überhaupt was /b macht?
-
22. 01. 2010, 19:30 #17
Re: Mit VB Net CMD Befehle ausführen?
Das würde ich auch gerne wissen...
Also erstmal muss ich jetzt sagen du hast mich echt beleidigt ich schreibe dir ein Super kompaktes Script zusammen und was machst du vor lauter Eitelkeit...
AK-47
mfg
HyP3r
-


Zitieren


mehr lesen...







FoWL: Unterstützungserklärung für...
Heute, 12:14 in gulli:news