prgramm über batch datei starten
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 schreiben
Antwort 1 von Flupo vom 13.10.2020, 10:37 Options
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
Antwort 2 von Alex73 vom 13.10.2020, 14:56 Options
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!
Antwort 3 von batti-batch vom 13.10.2020, 20:59 Options
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
Antwort 4 von Alex73 vom 15.10.2020, 08:58 Options
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 :-)