【发布时间】:2016-11-17 23:27:20
【问题描述】:
例如,假设我有一个文件夹,其中包含以下内容:
log.batclear.batnew.batinit.exe
每个.bat 文件调用init 一次或多次。我确实没有可以访问任何.bat 文件,因此我无法将变量传递给init.exe。关于init 要了解的一件事是一个 C# 应用程序,它可以接受参数。
可能性:
-
DOSKEYS - 结果表明它们不适用于
.bat文件。 -
环境变量 - 我想我可以命名一个名为
init的环境变量,它会执行类似init %~n0的操作来获取批处理文件名。可悲的是,这也不起作用。 -
Hacky Alias - 创建一个名为
init.bat的批处理文件(.bat文件调用init,不是init.exe)。然后,在init.bat文件中,我会简单地输入init.exe %~n0。这有两件事出了问题。首先,.bat文件出于某种原因将init.exe优先于init.bat,因此甚至没有调用批处理文件别名。其次,%~n0部分扩展为init,因为它是从init.bat调用的,而不是其他批处理文件。
我运气不好?或者有没有一种hacky方法可以解决这个问题?
【问题讨论】:
-
这是一个 C# 问题吗?
-
@rory.ap 抱歉。
init.exe文件是一个 c# 应用程序,所以我认为它可能值得标记。 -
您在哪里尝试做出此决定?从其他地方运行的代码?还是从 Windows 手动?
-
@rory.ap 任何地方。我认为我目前没有太多选择。
-
init.exe 是控制台应用还是 Windows 应用?
标签: c# windows batch-file cmd