私は 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);
}
}
私の問題を正しく説明できない場合は申し訳ありません。