Supportnet / Forum / BS-Sonstige
prgramm über batch datei starten
Frage
Hallo zusammen,
ich habe folgendes Problem:
Ich will über eine batch-datei eine access-Datenbank öffnen. Dort läuft ein autoexec-Makro ab, welches am Ende die Datenbank wieder schließt. Allerdings bekomme ich dann über Windows die Meldung daß die Datei nicht gefunden werden konnte. Was ich nicht verstehen kann, schließlich wurde sie beim Öffnen ja auch gefunden. Wie gesagt, er macht die Datenbank auf, führt auch das Makro aus, aber beim Schließen kommt die Fehlermeldung. Hat jemand ne Idee woher das kommt.
Hier der Text der Batch-Datei:
net use S: \\Server\Freigabe passwort /user:abc /persistent:no
start "" "S:\Acess-Datenbank"
Vielen Dank
Antwort 1 von Flupo
Möglicherweise liegt das am falschen Arbeitsverzeichnis. Wechsle zwischen dem Verbinden des Netzlaufwerkes und dem Start der Datenbank noch mit "S:" und "cd Datenbankverzeichnis" in den richtigen Ordner.
Alternativ kannst du auch das Makro prüfen und dort anstelle relativer Pfadangaben mit absoluten Pfaden arbeiten.
Geht die Batch-Datei nach dem Start der Datenbank noch weiter?
Gruß Flupo
Alternativ kannst du auch das Makro prüfen und dort anstelle relativer Pfadangaben mit absoluten Pfaden arbeiten.
Geht die Batch-Datei nach dem Start der Datenbank noch weiter?
Gruß Flupo
Antwort 2 von Alex73
Hallo Flupo
Danke erstmal für den Tip
Leider hat das Wechseln des Arbeitsverzeichnisses keinen Erfolg gebracht. Die Batch-Datei geht danach nicht weiter.
Sie verbindet nur ein Netzlaufwerk und startet dann die Datenbank. Diese wird dann über ein Makro in Access wieder geschlossen.
Ich versuch das ganze jetzt mal mit vbscript. Vielleicht hab ich da mehr Glück!
Danke erstmal für den Tip
Leider hat das Wechseln des Arbeitsverzeichnisses keinen Erfolg gebracht. Die Batch-Datei geht danach nicht weiter.
Sie verbindet nur ein Netzlaufwerk und startet dann die Datenbank. Diese wird dann über ein Makro in Access wieder geschlossen.
Ich versuch das ganze jetzt mal mit vbscript. Vielleicht hab ich da mehr Glück!
Antwort 3 von batti-batch
Hallo Alex73,
der Zugriff mit Passwort auf die Freigabe im Netzwerk in der Zeile
NET USE S: \\Server\Freigabe passwort /user:abc /persistent:no
birgt große Risiken in sich. Das Passwort steht im Klartext in der Batch, dadurch wird nichtautorisierten Zugriffsversuchen Tür und Tor geöffnet.
Zu Deinem eigentlichen Problem:
Es wird sicher helfen, wenn Du die Zeile
START "" "S:\Acess-Datenbank"
in
CMD /c START "" "S:\Acess-Datenbank"
änderst.
Viel Spaß beim Testen.
Herzliche Grüße
batti-batch
der Zugriff mit Passwort auf die Freigabe im Netzwerk in der Zeile
NET USE S: \\Server\Freigabe passwort /user:abc /persistent:no
birgt große Risiken in sich. Das Passwort steht im Klartext in der Batch, dadurch wird nichtautorisierten Zugriffsversuchen Tür und Tor geöffnet.
Zu Deinem eigentlichen Problem:
Es wird sicher helfen, wenn Du die Zeile
START "" "S:\Acess-Datenbank"
in
CMD /c START "" "S:\Acess-Datenbank"
änderst.
Viel Spaß beim Testen.
Herzliche Grüße
batti-batch
Antwort 4 von Alex73
Danke für den Tip.
Hat leider auch nicht geholfen. Aber ich habe es jetzt mit vbs gelöst. Hier der Code.
Set wshnet = CreateObject("WScript.Network")
WshNet.MapNetworkDrive "S:", "\\SERVER\Freigabe", false, "User", "Passwort"
Set obj_shell = Wscript.CreateObject("Wscript.shell")
obj_shell.Run ("msaccess.exe Datenbankt.mdb")
Ich hab ja nicht viel Plan davon, aber eigentlich macht das Skript doch auch nichts anderes, aber es läuft jetzt ohne Fehler. Von daher, man muß ja nicht alles verstehen :-)
Hat leider auch nicht geholfen. Aber ich habe es jetzt mit vbs gelöst. Hier der Code.
Set wshnet = CreateObject("WScript.Network")
WshNet.MapNetworkDrive "S:", "\\SERVER\Freigabe", false, "User", "Passwort"
Set obj_shell = Wscript.CreateObject("Wscript.shell")
obj_shell.Run ("msaccess.exe Datenbankt.mdb")
Ich hab ja nicht viel Plan davon, aber eigentlich macht das Skript doch auch nichts anderes, aber es läuft jetzt ohne Fehler. Von daher, man muß ja nicht alles verstehen :-)

