【问题标题】:Feed value from a C# .Net Framework Console Application into a Console Command将 C# .Net Framework 控制台应用程序中的值输入到控制台命令中
【发布时间】:2017-10-31 14:34:08
【问题描述】:

我想将我从 .net 框架控制台应用程序获得的值提供给带有额外参数 /d 的更改目录命令。我不知道如何实现这一点,尤其不知道如何让我的控制台应用程序返回一个可以在命令行界面中使用的值。

我想要在 cmd.exe 中做这样的事情:

myapplication.exe arguement1 | cd /d

但是我该怎么做呢? 我的应用程序将使用参数 1 来打印/返回一个路径,然后 cmd.exe 更改目录命令应该使用该路径来访问该路径。有谁知道如何做到这一点? (我知道如何编写 c# 控制台应用程序以及如何使用参数,我唯一的问题是输出结果并将其输入 cd 命令)

【问题讨论】:

  • 我真的不确定你在问什么。这是我对您的要求的理解...编写一个 C# 控制台应用程序,该应用程序接收一个参数作为输入,然后启动 cmd.exe 以执行 cd (带参数)或在其自己的控制台窗口中执行 cd (如果这可能的话?idk )。如果这是准确的,那么我不明白执行 cd 对你有什么目的。
  • 我想在命令行中执行我的程序,它会输出一个路径,然后将其输入 cd 命令以将打开的 cmd.exe 更改为该路径。

标签: c# .net windows console


【解决方案1】:

这有点笨拙,但您可以结合使用批处理文件并将应用程序的输出通过管道传输到文件来实现。创建一个包含以下内容的 .bat 文件并运行它:

myapplication.exe argument1 > output.txt
set /P cdtarget=<output.txt
cd %cdtarget%

【讨论】:

  • 这是一种行之有效的方法,但正如你所说的有点hacky和不切实际,所以我希望有一个更清洁的方法,但谢谢。
  • 我仍在寻找一种仅使用一个 .exe c# 文件来获得此效果的方法,但我找到了一种更简洁的解决方案,可以使用批处理文件来实现。如果您使用“myapplication.exe argument1 | set /p directory”,我的应用程序文件的输出将直接设置为目录变量,然后可以与更改目录命令一起使用。
  • 我有一种琐碎的感觉,有一种更优雅的方法——我的批处理脚本有点生疏了 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-27
  • 1970-01-01
相关资源
最近更新 更多