Ich möchte meine Bat-Datei in Powershell konvertieren

Ich möchte meine Bat-Datei in Powershell konvertieren

Ich habe die beiden folgenden Batchdateien, die ich in Powershell konvertieren möchte.

Ich habe bat1.bat mit einer Dateierweiterung verknüpft. Wenn ich also auf diese Erweiterung doppelklicke, wird bat1.bat ausgeführt und der erste Parameter ist der Dateiname, auf den doppelgeklickt wurde

Warum 2 Bat-Dateien verwenden? Wenn ich nur bat2 verwende, wird ein Befehlsfenster geöffnet und angezeigt, bis das letzte Programm beendet wird. Wenn ich die beiden oben genannten Batch-Dateien verwende, erhalte ich nur ein Taskleistensymbol (das ich loswerden möchte). Das bringt mich zu dem Grund, warum ich zu Powershell wechseln möchte. Ich möchte in der Lage sein, auf eine der Dateien zu doppelklicken und PS das Access-Programm öffnen zu lassen, ohne dass ein Symbol oder eine visuelle Anzeige vorhanden ist. Es scheint also, dass mein Access-Programm das Programm ist, das Dateien mit dieser Erweiterung verarbeitet.

Bat1.bat

@echo off
@START /MIN c:\temp\bat2.bat %1
exit

Bat2.bat

@echo off
"c:\temp\Test.accdb" /cmd %1
exit

Antwort1

Ich sitze gerade nicht vor einem PC, um das zu testen, aber könnten Sie die Dateierweiterung nicht einfach einem Bat zuordnen, der Folgendes ausführt?

@start "Access wrapper" "c:\temp\Test.accdb" /cmd %1

Ich bin ganz dafür, auf PowerShell umzusteigen, aber Ihre Batchdatei wird anfangs schneller sein, und wenn ich mich richtig erinnere, können Sie einen bekannten Dateityp (wie Ihre ACCDB-Datei) an den Befehl „Start“ übergeben, und dieser findet heraus, womit er geöffnet werden soll (z. B. Access), und fährt dann mit der nächsten Zeile im Skript fort (es sei denn, Sie übergeben „/wait“). Da es im Skript keine nächste Zeile gäbe, würden das Skript und sein Fenster einfach verschwinden.

Ich denke, dass Sie den Stapel mit einigen kreativen Änderungen an der Registrierung wahrscheinlich komplett löschen könnten, aber ich bin gerade nicht an einem PC, um das zu testen, und ich möchte nicht, dass Leute nur anhand ungetesteter Informationen aus meinem Gedächtnis an der Registrierung herumbasteln.

verwandte Informationen