舉例來說,假設我有一個在它下面的一個文件夾:有沒有辦法區分哪個批處理文件運行可執行文件?
log.bat
clear.bat
new.bat
init.exe
每個.bat
文件調用init
一次或多次倍。我做不是有權訪問任何.bat
文件,所以我沒有辦法將一個變量傳遞給init.exe
。關於init
的一件事是一個C#應用程序,可以接受參數。
可能性:
- DOSKEYS - 原來,他們不爲
.bat
文件。 - 環境變量 - 我想我可以命名一個名爲
init
的環境變量,它將執行類似init %~n0
的操作來獲取批處理文件名。可悲的是,這也不起作用。 - 哈克別名 - 製作一個名爲
init.bat
一個批處理文件(如.bat
文件調用init
,不init.exe
)。然後,在init.bat
文件中,我簡單地將init.exe %~n0
。這兩件事出錯了。首先,.bat
文件出於某種原因需要init.exe
優先於init.bat
,所以批處理文件別名甚至沒有被調用。其次,%~n0
部分展開爲init
,因爲它是從init.bat
調用的,而不是其他批處理文件。
我運氣不好嗎?還是有一種可以爲此工作的黑客方法?
這是一個C#問題? –
@ rory.ap對不起。 'init.exe'文件是一個C#應用程序,所以我認爲它可能是值得標記的。 – John
你在哪裏試圖做出這個決定?從運行在其他地方的代碼?或從Windows手動? –