Para poder escribir un archivo necesitas usar el namespace:
(IO=Imput output)
'necesitas usar StreamWrite para escribir el bat
private sr As StreamWriter
private FILE_NAME As String para guardar el nombre del archivo
Dim driveactual As String = Application.StartupPath.Substring(0, 3)'esto nos dará algo así C:\
'No se para que quieres ver los resultados en el command entonces para que posteas en .NET

,, mejor pongamoslo en un treeview
'en un combo cargas las unidades para que te movilces entre c,d,e, etc.
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Me.TreeView1.Nodes.Clear()
'LISTAMOS DIRECTORIOS
Dim Ruta As String = Me.ComboBox1.Text.ToString
For Each file As String In Directory.GetDirectories(Ruta)
Dim nodo As New TreeNode
nodo.Text = file
Try
For Each direct As String In Directory.GetDirectories(nodo.Text)
Dim nodoHijo As New TreeNode
nodoHijo.Text = direct
nodo.Nodes.Add(nodoHijo)
Next
Catch ex As Exception
End Try
Me.TreeView1.Nodes.Add(nodo)
Next
End Sub
'este sub nos va a permitir crear un archivo bat
Private Sub creaBat()
'UBICAMOS LA RUTA DONDE GUARDAREMOS NUESTRO ARCHIVO
Dim subRuta As String = Application.StartupPath.Substring(3)
Dim directorio As String
For i As Integer = 0 To subRuta.Length - 1
If subRuta.Substring(i, 1).ToLower = "\" Then
Exit For
Else
directorio += subRuta.Substring(i, 1)
End If
Next
'CREAMOS EL ARCHIVO, el nombre será la fecha
Dim FECHA As Date
FILE_NAME = Me.driveactual & directorio & "\" & FECHA.Today.Month.ToString & "-" & FECHA.Today.Day.ToString & ".bat"
If File.Exists(FILE_NAME) = False Then
sr = File.CreateText(FILE_NAME)
sr.Close()
Else
End If
'ESCRIBIMOS DENTRO DEL bat
' Dim Ruta As String
sr = File.CreateText(FILE_NAME)
sr.WriteLine([b]ACA VA EL CUERPO DEL BAT OK[/b])
sr.Close()
End Sub
'En el load:aqui cargamos las unidades en el combo
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.creaTxt()'llamamos el sub de arriba
Dim Archivos() As String
Dim Ruta As String
Dim i As Integer
Archivos = Directory.GetLogicalDrives
For i = 0 To Archivos.Length - 1
Me.ComboBox1.Items.Add(Archivos(i))
Next
Me.ComboBox1.SelectedIndex = 1
Try
For j As Int16 = 0 To Me.ComboBox1.Items.Count - 1
If Me.ComboBox1.Items(j) = driveactual Then
Me.ComboBox1.SelectedIndex = j
Exit For
End If
Next
Catch ex As Exception
End Try
End Sub
'esto en la treeview
'los directorios se muestran completos por ejemplo c:\directorio1\directorio2\hola.txt, pero como solo es necesario poner el hola.txt hay una validacion para sacar el resto, si quieres la sacas.
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
Me.Tag = Me.TreeView1.SelectedNode.Text
Try
For Each File As String In Directory.GetFiles(Me.TreeView1.SelectedNode.Text, "*.txt")
Dim item As New ListViewItem
Dim cadena As String = File.ToString
Try
For i As Integer = cadena.Length - 1 To 0 Step -1
If cadena.Substring(i, 1).ToLower = "\" Then
cadena = cadena.Substring(i + 1)
End If
Next
Catch ex As Exception
Finally
item.Text = cadena
item.ImageIndex = 1
Me.ListView1.Items.Add(item)
End Try
Next
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
'finalmente cuando los archivos se caerguen en la listivew como iconos, esto es como un explador ok, al hacer doble click se ejecta el archivo
Private Sub ListView1_DoubleClick1(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick
Dim i As Integer
Dim fila As Integer
fila = Me.ListView1.SelectedIndices.Item(fila)
Dim ruta As String = Me.Tag & "\" & Me.ListView1.Items(fila).Text
System.Diagnostics.Process.Start(ruta)
End Sub
'Yo ya tenia hecha esta aplicacion pero la cree para escribir archivos de texto, pero con el streamwriter puedes escribir de todo archivos xml, txt,bat, etc.
algun fallo me la consultas