想要將我的 bat 檔案轉換為 Powershell

想要將我的 bat 檔案轉換為 Powershell

我有下面 2 個批次文件,我想將它們轉換為 Powershell。

我有與檔案副檔名關聯的 bat1.bat,因此當我雙擊該副檔名時,會執行 bat1.bat,第一個參數是雙擊的檔名

為什麼要用2個bat檔?好吧,如果我只使用 bat2,我會打開一個命令視窗並可見,直到退出最終程式。透過使用上面的 2 個批次文件,我只得到一個工作列圖示(我想刪除它)。這讓我明白了為什麼我想轉換為 Powershell。我希望能夠雙擊其中一個文件並讓 PS 打開 Access 程序,並且根本沒有圖標或任何視覺指示。因此,我的 Access 程式似乎是處理具有該副檔名的檔案的程式。

蝙蝠1.bat

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

蝙蝠2.bat

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

答案1

我現在不在電腦前測試這個,但是你不能將檔案副檔名與執行以下命令的bat關聯起來嗎?

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

我完全贊成切換到PowerShell,但是您的批次檔最初會更快,如果我沒記錯的話,您可以將已知的檔案類型(例如accdb 檔案)傳遞給「start」命令,它會找出要執行的內容使用(即 Access)開啟它,然後繼續到腳本中的下一行(除非您傳遞「/wait」)。由於腳本中不會有下一行,因此腳本及其視窗將會消失。

我認為您可能可以通過一些創造性的註冊表編輯來消除該批處理,但我現在不在電腦上進行測試,而且我不想讓人們僅根據我記憶中未經測試的花絮來修改註冊表。

相關內容