Winrar per bat-Datei steuern


d4kine

Erfahrenes Mitglied
Hallo.

Wie der Titel schon sagt, will ich Winrar über eine bat-Datei steuern.
Ich habe mir winrar installiert und 2 exe dateien gefunden die über dos laufen und die man per parameter steuern kann. rar.exe und unrar.exe. ich will einen order jetzt in eine rar packen, aber per shell geht das nicht, weil ich anführungszeichen etc brauche. erstelle ich erst eine bat datei über das VB programm und lasse es dann ausführen geht das nicht. (also wenn das programm die datei ausführt) Führe ich die Bat-Datei manuell aus, funktioniert es einwandfrei..
Hier mal der code:

Code:
Private Sub Form_Load()
Dim fso As New FileSystemObject
Dim OldName, NewName

CopyDate = Format(Date, "dd-mm-yy")
RarName = "Email_Backup_" & CopyDate & ""

fso.CopyFolder "C:\Dokumente und Einstellungen\Chris\Anwendungsdaten\Thunderbird", "D:\Eigene Dateien\Sonstiges\Mozilla Backups\Email_Backup_" & CopyDate & ""

RarIt.Enabled = True
textfile = "D:\Eigene Dateien\Sonstiges\Mozilla Backups\Rar.bat"

fso.CreateTextFile (textfile)
  Open textfile For Output As #1
    Print #1, "" & Chr(34) & "D:\Eigene Dateien\Sonstiges\Mozilla Backups\Rar.exe" & Chr(34) & " a " & Chr(34) & RarName & Chr(34) & " " & Chr(34) & RarName & Chr(34) & ""
  Close #1

End Sub

Private Sub RarIt_Timer()
Dim fso As New FileSystemObject
textfile = "D:\Eigene Dateien\Sonstiges\Mozilla Backups\Rar.bat"
Shell (textfile)
RarIt.Enabled = False
fso.DeleteFile (textfile)
Unload Me
End Sub
HOffentlich kann mir jemand helfen :)
 

deepthroat

Erfahrenes Mitglied
Hi.

Also erstmal kannst du auch direkt in VB doppelte Anführungszeichen benutzen. Du mußt sie nur innerhalb eines String-Literals verdoppeln:
Visual Basic:
MsgBox "Er sagte: ""Hallo, Welt."""

Dann benutz doch mal die Option vbNormalFocus bei der Shell Funktion und füge in die .bat Datei am Schluß noch ein pause Befehl ein. So kannst du sehen was rar für Fehlermeldungen ausgibt.

Dann zeig doch mal was genau in der .bat Datei drin steht.

Außerdem wird die Batch Datei asynchron ausgeführt, d.h. du kannst die Datei vermutlich nicht gleich löschen nachdem du den Job gestartet hast.

Gruß
 

d4kine

Erfahrenes Mitglied
Also. Erstmal vielen dank für deine Antwort. Hat mir sehr geholfen :)
hab es jetzt zum teil so gemacht wie du meintest und ich hab noch eine "Wait to close app"-funktion eingebaut, damit die Datei gelöscht wird, nachdem die RAR gebaut wurde.
Danke nochmal!
Grüße -> d4kine
 

Neue Beiträge