举例来说,假设我有一个在它下面的一个文件夹:有没有办法区分哪个批处理文件运行可执行文件?
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手动? –