【问题标题】:Can i get batch file name in the application which is running by that batch file我可以在由该批处理文件运行的应用程序中获取批处理文件名吗
【发布时间】:2014-11-28 07:58:42
【问题描述】:

有没有办法在由该批处理文件运行的 c# 控制台应用程序中获取批处理文件名。假设我有 c# 应用程序,例如。 abc.exe 和一些批处理文件,例如 test.bat 。所以这个 test.bat 文件正在运行 abc.exe 应用程序,然后我需要从 c# 代码中获取批处理文件的名称,即 test .bat,即来自 abc.exe

【问题讨论】:

  • 你能澄清你在问什么吗? “由该批处理文件运行”是什么意思...您的意思是您是否可以使用 C# 获取所有正在运行的 .bat 文件的文件名?
  • 你当然会解释我的问题,假设我有 c# 应用程序,例如。 abc.exe 和一些批处理文件,例如 test.bat 。所以这个 test.bat 文件正在运行 abc.exe 应用程序,然后我需要从 c# 代码中获取批处理文件的名称,即 test .bat,即来自 abc.exe

标签: c# .net


【解决方案1】:

将批处理文件名作为参数提供给 C# 程序。您可以在'main'方法中访问参数。

更多:

http://msdn.microsoft.com/en-us/library/cb20e19t.aspx

【讨论】:

  • 是的,我试过这种方式,也能得到,但要求是我们无法输入任何新的参数,这是固定的,所以我们只能在 c# 程序中进行更改。所以是有什么方法可以在 c# 代码中获取批处理文件名
  • 我认为您必须查看当前正在执行的应用程序或其他内容。我认为不漂亮而且容易出错。一种可能性是您可以根据调用批处理文件的名称更改 C# 可执行文件的名称。在 C# 程序中获取 C# exe 名称很容易。然后将 exe 名称与可能的批处理文件名的已知列表相匹配。也是一个讨厌的黑客,但在适当的条件下它可以让你摆脱麻烦。
  • @InduNarayan 如何制作一个由 .bat 文件启动并给出 .bat 文件名和其他参数的 C# 启动程序,然后它会启动“真实”程序并执行需要什么取决于知道 .bat 文件的身份?
  • @RenniePet,我认为这是无法更改的批处理文件,而不是 C# 程序。所以启动器会遇到同样的问题。
  • @Indu Narayan,什么是你不能改变的,批处理文件还是 C# Main 函数?您可以从程序中的任何位置访问命令行参数,而无需更改 Main,因此如果您可以更改批处理文件发送的参数,您可以考虑这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
  • 2012-12-18
  • 2014-09-05
相关资源
最近更新 更多