質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

3100閲覧

CSでファイル名一覧をテキストで吐き出すコマンドラインのEXE

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2019/03/18 11:03

編集2019/03/18 11:07

サブフォルダのファイル名一覧をテキストで吐き出すコマンドラインのEXEファイルを作っています。

引数は、3つあり、
0. 検索するフォルダ
0. 拡張子
0. 出力先
としています。

ここでコンパイル後のEXEを実行すると下記のようなエラーが出ます。
{"2 番目のパス フラグメントを ドライブ名または UNC 名にすることはできません。\r\nパラメーター名:path2"}

見よう見まねで作っているので、ほとんどC#についての経験がないのですが、
これはコンパイラ(VS)の問題でしょうか?

すみませんが、ご教授願います。

イメージ説明
イメージ説明

cs

1 2using System; 3using System.Collections.Generic; 4using System.Diagnostics; 5using System.IO; 6using System.Linq; 7 8namespace FileListSpeedComparison 9{ 10 internal class Program 11 { 12 // 文字コード 13 private const string Encode = "shift_jis"; 14 15 static void Main(string[] args) 16 { 17 if (args.Length == 0) 18 { 19 Console.WriteLine("not one"); 20 return; 21 } 22 23 for (int i = 0; i < args.Length; ++i) 24 Console.Write("{0}番目のコマンドライン引数は{1}です。\n", i, args[i]); 25 26 string FolderPass = args[0]; 27 string OutFile = args[1]; 28 string Extension = args[2]; 29 30 IEnumerable<string> files 31 = Directory.EnumerateFiles( 32 FolderPass, // 検索開始ディレクトリ 33 Extension,// 検索パターン 34 SearchOption.AllDirectories); // サブ・ディレクトも含める 35 Console.WriteLine(files.Count() + "個のファイルを読み込みます。"); 36 37 StreamWriter sw = new StreamWriter(OutFile, // 出力先ファイル名 38 true, // 追加書き込み 39 System.Text.Encoding.GetEncoding("Shift_JIS")); // 文字コード 40 41 Console.SetOut(sw); // 出力先(Outプロパティ)を設定 42 43 foreach (string file in files) 44 { 45 Console.WriteLine(file); 46 } 47 } 48 } 49}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

OutFile と Extension が逆ではありませんか?

投稿2019/03/18 11:12

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

VisualStudioを使ってるなら、好きな行で実行を止めて、変数のナカミを見たり、1行づつ実行したりできますんで、エラーの出る行を探してそこで止め、何がおかしいかを見てみたらどうでしょうか

投稿2019/03/18 15:45

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問