首页 > 解决方案 > 找不到文件异常

问题描述

当我尝试运行 cade 时,它​​会抛出“找不到文件”异常。

ProcessStartInfo psi = new ProcessStartInfo(@"for / f ""delims="" % i in ('""C:\Program Files (x86)\AnyDesk\AnyDesk.exe"" --get-id') do set CID =% i",
                 "echo % CID %"
                 );
            psi.UseShellExecute = false;
            psi.RedirectStandardOutput = true;
            psi.CreateNoWindow = true;
            var proc = Process.Start(psi);
            string s = proc.StandardOutput.ReadToEnd();
            Console.WriteLine(s);

命令行在 cmd 中工作。

for /f "delims=" %i in ('"C:\Program Files (x86)\AnyDesk\AnyDesk.exe" --get-id') do set CID=%i 
echo %CID%

标签: c#visual-studiocmd

解决方案


您已经开始使用命令行的过程,cmd.exe然后必须传递您的命令,就像这样

string command = @"for / f ""delims="" % i in ('""C:\Program Files (x86)\AnyDesk\AnyDesk.exe"" --get-id') do set CID =% i",
                 "echo % CID %"
ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", command);

更新:

然后尝试使用这样的转义字符,

ProcessStartInfo psi = new ProcessStartInfo("for /f \"delims =\" %i in ('\"C:\\Program Files (x86)\\AnyDesk\\AnyDesk.exe\\\" --get-id') do set CID=%i && echo % CID % ");

推荐阅读