我想编写一个简单的C#控制台应用程序,将命令行的当前目录更改为应用程序运行的目录。通过MSDN System.IO.Directory.SetCurrentDirectory看起来很理想,直到我在评论中看到:
'当应用程序终止时, 工作目录恢复到其中 原始位置(目录所在 这个过程开始了。'
当我在测试应用程序中尝试此操作时,确实无法正常工作。有没有人知道如何在C#中实现CD变体?
答案 0 :(得分:3)
您可以编写包装器批处理脚本:
@ECHO OFF
FOR /F "tokens=*" %%i in ('someapp.exe') do SET TOOLOUTPUT=%%i
CD %TOOLOUTPUT%
我没有对此进行测试,但它应该可以让你到达目的地。
答案 1 :(得分:1)
我怀疑这是可能的,因为您只是为您的程序设置当前工作目录而不是生成它的cmd进程。