コマンドライン "XVirus.Start();" "System.InvalidOperationExceptionがスローされました:ファイル名が指定されていないため、プロセスを開始できません。" それが起こる前に、それはまったく問題なく私のプログラムを始めました。コードは起こった前後でも同じです。必要な場合はここに私のコードです。C#System.InvalidOperationExceptionがスローされました:ファイル名が提供されていないため、プロセスを開始できません。
using System;
using System.Diagnostics;
using System.IO;
namespace FDVirusX
{
class MainClass
{
public static void Main(string[] args)
{
var XVirus = new Process();
var driveList = DriveInfo.GetDrives();
foreach (DriveInfo drive in driveList)
{
if (drive.DriveType == DriveType.Removable)
{
Console.WriteLine("Scanning Flash Drive: " + drive.Name + drive.VolumeLabel);
System.Threading.Thread.Sleep(1900);
if (Directory.GetFiles(drive.ToString(), "*.lnk", SearchOption.AllDirectories).Length == 0)
{
XVirus.StartInfo.WorkingDirectory = drive.ToString();
XVirus.StartInfo.FileName = "cmd.exe";
XVirus.StartInfo.Arguments = " /c title FDVirusX & cls & @echo off & echo There are no shortcut viruses in this Flash Drive.";
XVirus.StartInfo.UseShellExecute = false;
XVirus.StartInfo.RedirectStandardOutput = true;
}
else
{
XVirus.StartInfo.WorkingDirectory = drive.ToString();
XVirus.StartInfo.FileName = "cmd.exe";
XVirus.StartInfo.Arguments = "/c title FDVirusX & cls & attrib -s -h -r /s /d & echo Files restored. & del /f /s *.lnk & echo Shortcut files deleted.";
XVirus.StartInfo.UseShellExecute = false;
XVirus.StartInfo.RedirectStandardOutput = true;
}
if (!Directory.Exists(drive.ToString()))
{
XVirus.StartInfo.WorkingDirectory = @"C:/";
XVirus.StartInfo.FileName = "cmd.exe";
XVirus.StartInfo.Arguments = "/c title FDVirusX & cls & @echo off & echo Flash Drive not found.";
XVirus.StartInfo.UseShellExecute = false;
XVirus.StartInfo.RedirectStandardOutput = true;
}
}
}
XVirus.Start(); // System.InvalidOperationException has been thrown: Cannot start process because a file name has not been provided.
Console.WriteLine(XVirus.StandardOutput.ReadToEnd());
System.Threading.Thread.Sleep(2000);
Console.WriteLine("Closing Application...");
System.Threading.Thread.Sleep(3000);
XVirus.WaitForExit();
XVirus.Close();
}
}
}
リムーバブルドライブを準備していない場合はどうなりますか? – Steve
ところで、CMD.EXEによって実行されるべき実行可能ファイル名は何ですか?最初の引数としてのタイトルは、exe名でなければなりません。 – Steve
「フラッシュドライブが見つかりません」と表示されます – Jeff0945