Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

batch-Datei über Shell ausführen

batch-Datei über Shell ausführen
18.04.2008 14:16:00
Andi
Hallo zusammen,
ich habe folgendes Problem:
Ich habe eine Datei namens Directory.bat, aus der heraus wiederum mit
ftp -s:Directory.ftp
eine Datei names Directory.ftp aufgerufen wird. Diese erzeugt mittels folgendem Code

open [myFtp].[myDomain].org
[myUserName]
[myPassword]
dir *.* C:\ftp\liste.txt
bye

im angegebenen Verzeichnis eine txt-Datei mit allen Dateien auf dem ftp-Server.
Das klappt wunderbar, wenn ich die bat-Datei mit Doppelklick ausführe.
Wenn ich aber die bat-Datei aus VBA heraus mit

Dim a
a = Shell("I:\akiessling\ftp\Directory.bat", 1)

starte, dann öffnet sich zwar das schwarze "DOS"-Fenster, aber die txt-Datei wird nicht erzeugt.
Fehlermeldung gibt's aber auch keine.
Weiß jemand Rat?
Schönen Gruß,
Andi

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: batch-Datei über Shell ausführen
18.04.2008 14:33:00
Tino
Hallo,
versuche es mal hiermit, ob es deine Bat Datei ausführt kann ich jetzt aber nicht sagen.
Würde mich aber auch mal interessieren.
Pfad musst du noch anpassen!

Option Explicit
Public Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nshowcmd As Long) As Long
'1 Normal öffnen
'3 Maximiert öffnen
'6 Minimiert öffnen
Sub test()
Dim Pfad As String
Pfad = "C:\Test.TXT"
Call ShellExecute(0, "open", Pfad, "", "", 6)
End Sub


Gruß
Tino

Anzeige
AW: batch-Datei über Shell ausführen
18.04.2008 14:52:00
Andi
Hi,
vielen Dank, aber leider das gleiche Resultat; keine Fehlermeldung, aber eben auch keine txt-Datei erzeugt.
Schönen Gruß,
Andi

AW: batch-Datei über Shell ausführen
18.04.2008 15:17:00
Tino
Hallo,
damit müsste es aber gehen.
Shell "cmd /c I:\akiessling\ftp\Directory.bat", 1
oder
Shell "command /c I:\akiessling\ftp\Directory.bat", 1
Quelle:
http://support.microsoft.com/kb/505485/de
Gruß
Tino

AW: batch-Datei über Shell ausführen
18.04.2008 15:33:00
Andi
Leider nicht... :-(
Wie gesagt, irgendwie gestaret wird die Datei schon, nur ohne sichtbares Ergebnis...
Kann ich denn den Befehl in der batch-Datei:
ftp -s:Directory.ftp
auch direkt aus VBA heraus aufrufen? Wenn ich die Datei Directory.ftp direkt per Shell starten möchte, bekomme ich eine Fehlermeldung (Laufzeitfehler 5, Ungültiger Prozeduraufruf oder ungültiges Argument).
Trotzdem schonmal Danke für Deine Mühe!!
Schönen Gruß,
Andi

Anzeige
AW: batch-Datei über Shell ausführen
18.04.2008 15:55:59
Andi
Hi,
leider auch nicht, gleiche (Nicht-)Ergebnis wie bisher... :-((
Trotzdem danke!
Schönen Gruß,
Andi

AW: batch-Datei über Shell ausführen
18.04.2008 16:38:00
Reinhard
Hi Andi,
schade, dachte daran liegt es.
Was mir gleich auffiel, ich hätte den dir Befehl so geschrieben:

dir *.* > C:\ftp\liste.txt


aber ich kenne die neueren Batch-Möglichkeiten nicht.
Dadran liegt es wohl auch nicht?
Gruß
Reinhard

Anzeige
AW: batch-Datei über Shell ausführen
18.04.2008 16:55:17
Andi
Hi,
wohl eher nicht, wenn ich die Datei mit Doppelklick ausführe, dann geht's ja, nur per VBA leider nicht...
Ich verabschiede mich jetzt trotzdem ins Wochenende, und versuche am Montag wieder mein Glück.
Schönen Gruß,
Andi

AW: batch-Datei über Shell ausführen
18.04.2008 17:04:17
Tino
Hallo,
stell doch mal die besagte Batchdatei uns zur Verfügung,
dann könnte wir damit etwas spielen.
Gruß
Tino

AW: batch-Datei über Shell ausführen
18.04.2008 19:41:17
Volti
Hallo Andi,
platzier doch mal in Deiner Batchdatei, am besten am Ende, den Befehl "pause". Dann hält diese an und Du kannst sehen, ob sie überhaupt aufgerufen und abgearbeitet wird. Ggf. am Anfang noch "echo on" eintragen, denke das ist aber nicht unbedingt notwendig.
PS: In der Batch aufgerufen Einträge zu Programmen müsstest Du auch mit dem Shell-Befehl direkt aufrufen können.
viele Grüße

Anzeige
AW: batch-Datei über Shell ausführen
21.04.2008 09:07:00
Andi
Hallo Volti,
danke für den Tip, das werd ich heute mal ausprobieren.
Schönen Gruß,
Andi

AW: batch-Datei über Shell ausführen
21.04.2008 09:06:00
Andi
Hallo Tino,
den Code der Batch-Datei (nur eine Zeile) sowie der daraus aufgerufenen ftp-Datei hatte ich in meinem Ausgangsposting schon hineinkopiert.
Schönen Gruß,
Andi

Vielen Dank an alle!
21.04.2008 14:08:47
Andi
Hallo zusammen,
das Problem ist zumindest so halbwegs gelöst.
Auf die Spur gebracht hat mich die Idee von Volti, den Pause-Befehl in meine bat einzufügen. dadurch habe ich gemerkt, dass die ftp-Datei unter einen gänzlich anderen Pfad gesucht wird, als ich im Shell-Befehl angegeben habe; warum dies so ist, verstehe ich zwar nicht, aber wenn ich mich dem Willen meines Rechners beuge, und die Datei dahin kopiere, wo er sie gerne hätte, dann funktioniert alles.
Vielen Dank jedenfalls an Euch drei für Eure Mühe!
Schönen Gruß,
Andi

Anzeige
AW: Vielen Dank an alle! Nachtrag
21.04.2008 14:16:44
Andi
Hi nochmal,
nur als Nachtrag für Interessierte bzw für's Archiv:
Wenn man den Pfad der ftp-Datei in der bat mit angibt, dann läuft's; offenbar funktionieren relative Pfadangaben in bat-Dateien nicht.
Schönen Gruß,
Andi

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige