C# 从命令提示符运行.exe文件

C# 从命令提示符运行.exe文件,c#,visual-studio,exe,C#,Visual Studio,Exe,我用Visual studio开发了C语言的程序,并在调试文件夹中生成了.exe文件。我还在属性->调试中添加了命令行参数 传递的参数是D:\Example\bin\Release\Input\u Files\D:\Example\bin\Debug\trycc.css 900 640 通过将解决方案配置标记为调试来运行此解决方案,它会在调试文件夹中生成.exe文件 当我尝试从命令行运行时,它告诉我,无法打开与.exe处于相同级别的某些文件 D:\>D:\Example\bin\Debu

我用Visual studio开发了C语言的程序,并在调试文件夹中生成了.exe文件。我还在属性->调试中添加了命令行参数

传递的参数是D:\Example\bin\Release\Input\u Files\D:\Example\bin\Debug\trycc.css 900 640

通过将解决方案配置标记为调试来运行此解决方案,它会在调试文件夹中生成.exe文件

当我尝试从命令行运行时,它告诉我,无法打开与.exe处于相同级别的某些文件

 D:\>D:\Example\bin\Debug\Example.exe D:\Example\bin\Release\Input_Files\ D:\Example\bin\Debug\trycc.css 900 640
我不明白我错在哪里。请帮忙

这是:

D:\>D:\Example\bin\Debug\DFu1.exe  "D:\Example\bin\Release\I
nput_Files\"  "D:\Example\bin\Release\Input_Files\css\screen.css" "900
"  "830"
Incomplete Arguments entered.
Press any key to continue


 Unhandled Exception: System.IO.DirectoryNotFoundException: Could not find a part
 of the path 'C:\Out\elogs.txt'.
 at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
 at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, I
 nt32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions o
 ptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
 at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
 at ExampleParser.Program.Main(String[] args) in D:\Example\Program.cs:l
 ine 691

可能是你们的问题是报价不正确。尝试传递此参数:

"D:\\Example\\bin\\Release\\Input_Files\\" "D:\\Example\\bin\\Debug\\trycc.css" 900 640
或:


如果您引用的是不存在的目录文件夹D:\Out,请首先确保该目录存在(如果是正确的目录)。如果不是,则应用程序可能使用相对路径,例如…。\SomeDir \而不是绝对路径,因此代码需要更改以正确定位此目录。证明应用程序工作的一个简单但快速的方法是先将cd放入它所在的目录中,然后从该路径运行exe:

cd D:\Example\bin\Debug

Example.exe D:\Example\bin\Release\Input_Files\ D:\Example\bin\Debug\trycc.css 900 640

如果您实际上有相对路径,请记住,如果app.exe位于D:\Example\bin\Debug中,并且您有一个dir D:\Example\bin\Out,并且代码尝试使用..\Out读取/写入该Out目录,那么如果应用程序直接从\bin\Debug运行,则会成功。但是,如果从D:\MyOtherDir\Test yes运行应用程序,即使您传入完整路径D:\Example\bin\Debug\Example.exe,它也会解析为D:\MyOtherDir\Out,相对路径基于当前工作目录,而不是exe所在的位置。

这可能是工作目录的问题,或者您需要将参数放在引号之间。可以从命令提示符复制粘贴整个输出吗?如果您不知道如何操作-右键单击命令提示符窗口,标记,选择行,右键单击,它将出现在剪贴板中,您可以在这里使用CTRL+V。我已编辑。。请看一看,在第一种情况下,它显示的参数数量较少。第二步,它抛出和前面提到的相同的错误below@Aada,请在处理参数的位置显示您的代码。@Kirill,您能在Program.cs:第691行显示您的代码吗?
cd D:\Example\bin\Debug

Example.exe D:\Example\bin\Release\Input_Files\ D:\Example\bin\Debug\trycc.css 900 640