windows 无法将参数定义为上下文的变量

xxhby3vn  于 2023-03-13  发布在  Windows
关注(0)|答案(1)|浏览(106)

Title解释说,我是C#和.NET的新手,我在程序中传递4个参数。
但是当我试图用args定义另一个变量作为上下文时,由于某种原因它总是null。
参数:“cmd. exe/K echo hi”我尝试了什么:

var var1 = args;
var var2 = args.Skip(1).ToString();
System.Console.WriteLine(var1);
System.Console.WriteLine(var2);

例外:

Shell> myProgram.exe cmd.exe /K echo hi
cmd.exe /K echo hi
/K echo hi
Shell>

结果:

Shell> myProgram.exe cmd.exe /K echo hi
      # <- nothing here

Shell>

之后,我试着在visual studio 2022中读取变量,它们也是null。

完整代码:

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace sudo
{
    class Program
    {
        static void sudo_start(string file, string argument)
        {
            Process process = new System.Diagnostics.Process();
            ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
            startInfo.CreateNoWindow = false;
            startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            startInfo.WorkingDirectory = ".";
            startInfo.FileName = @file;
            startInfo.Arguments = @argument;
            //@"/C computerdefaults.exe"
            process.StartInfo = startInfo;
            process.Start();
        }
        static int Main(string[] args)
        {
            int var;
            if (args.Length > 0)
            {
                var var1 = args;
                var var2 = args.Skip(1).ToString();
                System.Console.WriteLine(var1);
                System.Console.WriteLine(var2);
                //string argument = string.Join(" ", delFirst);
                //sudo_start(args[0], argument);
                var = 0;
            }
            else
            {
                System.Console.WriteLine(@"Error: No arguments given! example: sudo cmd.exe");
                var = 1;
            }
            return var;
        }
    }
}
pengsaosao

pengsaosao1#

由于某种原因,重新启动修复了此问题。
更多细节请参见评论。

相关问题