1

私は C# コミュニティに不慣れです。バッチ ファイルで開始するコンソール アプリケーションがあります。.batファイルには次のものが含まれます。

AffiliationParser.exe "D:\programs\AffiliationParser\Debug\New folder" 
pause

バッチファイルを実行すると、コードを抽出してFolder Pathすべて.txtのファイルをパスに取得し、残りのコードを適用します。

デバッグからコードを実行すると、非常にうまく機能します。問題は、バッチ ファイルで実行すると、次のエラーが表示されることです。

未処理の例外: System.IO.DirectoryNotFoundException: パス 'D:\programs\Debug\New folder\' の一部が見つかりませんでした。

上記のエラーで提供されたパスは、ファイルに書き込んだパスと同じではないことに注意してください。.bat前にも書きましたが、実はどこに問題があるのか​​わかりません。

私のソースコードは次のとおりです。

using(StreamReader batch=new StreamReader(@"D:\programs\AffiliationParser\Debug\Run.bat")) {
    string bat;

    while(!batch.EndOfStream) {
        bat=batch.ReadLine();

        // do your processing with batch command

        if(bat=="pause") {
            continue;
        }

        string fpath=bat.Substring(bat.IndexOf(" \""));
        string path=fpath.Replace("\"", "");
        string[] name=Directory.GetFiles(path, "*.txt");
        string words=name.Min();
        string word=words.Substring(words.LastIndexOf("\\")).Replace("\\", "");
        string Oword=word.Replace(".txt", "");

        Console.ForegroundColor=ConsoleColor.Yellow;
        Console.WriteLine("================================In progress=====================================");
        Console.WriteLine("Working on File "+word+" in the Path "+path);
    }
}

私の問題を正しく説明できない場合は申し訳ありません。

4

0 に答える 0