C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: 指定ディレクトリのファイル移動


(過去ログ 172 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■99018 / inTopicNo.1)  指定ディレクトリのファイル移動
  
□投稿者/ 初心のもの (50回)-(2022/01/31(Mon) 12:53:07)

分類:[.NET 全般] 



 [ visual studio2019  C# ]

 たびたびお世話になってます。

 これができたら初実装ができるので、ご教授願います。

 指定してあるディレクトリの中にテキストファイルが入ってきたとき、処理を終えたら、もう1つの指定ディレクトリに
 名前変更などせずそのまま移動させたいのですがうまくいきません

               var strFilePath = objEventArguments.FullPath;
                StreamReader reader = new StreamReader(strFilePath, Encoding.GetEncoding("Shift_JIS"));
                while (reader.Peek() >= 0)
                {
                    // 読み込んだ文字列をカンマ区切りで配列に格納
                    var cols = reader.ReadLine().Split(',');
                    var id = (cols[0]);
                    var name = (cols[1]);
                    var hame = (cols[2]);
                    var eame = (cols[3]);
                    var nanika = (cols[4]);
                    var masaki = (cols[5]);

         //処理省略

  
        }
        reader.Close();

                File.Move(strFilePath,//指定した移動先ディレクトリパス)
        ※fileRead	error CS0103: 現在のコンテキストに 'fileRead' という名前は存在しません	と出ます。

 このエラーの意味がよくわかりません、
 よろしくお願いします。


  

        

引用返信 編集キー/
■99019 / inTopicNo.2)  Re[1]: 指定ディレクトリのファイル移動
□投稿者/ くま (144回)-(2022/01/31(Mon) 12:58:30)
コンパイラ エラー CS0103
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-messages/cs0103

strFilePathの宣言の位置が「File.Move」を実行するコードの内側に宣言されていませんか?
引用返信 編集キー/
■99020 / inTopicNo.3)  Re[2]: 指定ディレクトリのファイル移動
□投稿者/ 初心のもの (52回)-(2022/01/31(Mon) 13:05:49)
No99019 (くま さん) に返信


> strFilePathの宣言の位置が「File.Move」を実行するコードの内側に宣言されていませんか?

 確認して外側にありました。
引用返信 編集キー/
■99021 / inTopicNo.4)  Re[3]: 指定ディレクトリのファイル移動
□投稿者/ Hongliang (1212回)-(2022/01/31(Mon) 13:10:01)
> File.Move(strFilePath,//指定した移動先ディレクトリパス)
> ※fileRead
> error CS0103: 現在のコンテキストに 'fileRead' という名前は存在しません と出ます。

本当にこうなのであれば、コピペミスかなにかで
※fileRead
という非コード行が紛れ込んでいるということになるかと思いますが。
ちなみにその場合
CS1045 予期しない文字 '※'
CS1002 ; が必要です
辺りも同時に出力されます。
引用返信 編集キー/
■99022 / inTopicNo.5)  Re[4]: 指定ディレクトリのファイル移動
□投稿者/ くま (145回)-(2022/01/31(Mon) 14:00:32)
訂正
strFilePathの宣言の位置が「File.Move」を実行するコードの内側に宣言されていませんか?

fileReadの宣言の位置が「File.Move」を実行するコードの内側に宣言されていませんか?

書かれているソース上[fileRead]の宣言がありません。
宣言していない変数を使用しようとしていませんか?

引用返信 編集キー/
■99023 / inTopicNo.6)  Re[5]: 指定ディレクトリのファイル移動
□投稿者/ 初心のもの (53回)-(2022/01/31(Mon) 14:30:54)
No99021 (Hongliang さん) に返信
■No99022 (くま さん) に返信
>本当にこうなのであれば、コピペミスかなにかで
>※fileRead
>という非コード行が紛れ込んでいるということになるかと思いますが。

> fileReadの宣言の位置が「File.Move」を実行するコードの内側に宣言されていませんか?
 

    //移動先ディレクトリの指定
    //var path = @"";

       private void Function(object sender, FileSystemEventArgs objEventArguments)
        {
            // 作成されたファイルのパスを確認
            var strFilePath = objEventArguments.FullPath;
            try
            {
                var reader = new StreamReader(strFilePath, Encoding.GetEncoding("Shift_JIS"));
                while (reader.Peek() >= 0)
                {
                    // 読み込んだ文字列を(")区切りで配列に格納
                    var cols = reader.ReadLine().Split('"');


                  〜処理コード〜


                }
                reader.Close();

         //ここにFile.Move()を書いていた

                Thread.Sleep(3000);
            }
            catch (Exception objException)
            {
                LogManager.GetLogger(GetType().FullName).Error(objException.Message);
            }
        }

 という感じなのですが、


                    

引用返信 編集キー/
■99024 / inTopicNo.7)  Re[6]: 指定ディレクトリのファイル移動
□投稿者/ Hongliang (1213回)-(2022/01/31(Mon) 14:58:01)
で、コード部分(コメント部を除いた部分)に fileRead という文字列は存在していますか?
エラー一覧ウィンドウに出ている該当エラー行をダブルクリックすると、プログラムソースの該当箇所にジャンプできますが、そこの箇所はどうなっていますか?
引用返信 編集キー/
■99025 / inTopicNo.8)  Re[6]: 指定ディレクトリのファイル移動
□投稿者/ くま (146回)-(2022/01/31(Mon) 15:06:39)
まず
>     catch (Exception objException)
>            {
>                LogManager.GetLogger(GetType().FullName).Error(objException.Message);
>            }>     catch (Exception objException)
>            {
>                Console.WriteLine(objException.Message);
>            }
に変更してみて実行してください。
エラーのメッセージが変わりませんか?

もし変わったのなら
log4net覚え書き
https://qiita.com/hsagae/items/b219f70490afaa81d314

の通りlog4net(LogManager)の設定は正しく行われていますか?
一度
LogManager.GetLogger("TEST")
できちんと出力できているか確認してみてください

引用返信 編集キー/
■99026 / inTopicNo.9)  Re[7]: 指定ディレクトリのファイル移動
□投稿者/ 初心のもの (55回)-(2022/01/31(Mon) 16:33:27)
No99024 (Hongliang さん) に返信
■No99025 (くま さん) に返信

 すみません。相対パスに問題があったみたいで


 var fileName = Path.GetFileName(//監視ディレクトリの.txt完全パス);

 で.txtの名前を取得して

  File.Move(//監視ディレクトの.txt完全パス,//移動させたいディレクトリパス+$"/{fileName}");

  でディレクト間のファイル移動完了しました

>     catch (Exception objException)
>            {
>                Console.WriteLine(objException.Message);
>            }

 試したときにこのコードで流れてしまい確認が取れませんでした。
 
 皆さんありがとうございます! 
 

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -