質問: とあるサーバーのとあるフォルダをC#で作ったAPIのサーバでマウントし、そのネットワークドライブへファイルをコピーします。 こんな感じでマウントしてます。 net use Z: ¥¥192.168.1.1¥コピー先 /user:XXX YYY この時、「Z:」の下に2階層フォルダを作る必要があります。 ``` Z ∟あ ∟20191127 ∟20191126 ∟い ∟20191127 ∟20191126 ``` 上記のようなイメージです。 「あ」、「い」の所はAPIへのリクエストパラメータにより可変なので、あらかじめ用意することができません。 APIの処理実行時に日付フォルダまで存在していれば、その下にコピーしたいファイルを起きます。 ネットワークドライブに向けての実装の前にローカルの別のフォルダにファイルをコピーするように作りました。 その時は ``` if(!Directory.Exists(Z:¥あ¥20191127)) { Directory.CreateDirectory(Z:¥あ¥20191127); } ``` 上記のやり方で「20191127」がなければ、「あ」から「20191127」まで一気に作れました。 ところが、ネットワークドライブを指定して動かしたところ、 同じやり方では `パス'Z:¥あ¥20191127'の一部が見つかりませんでした。` とエラーが起きました。 「あ」から順番に作るように直してみましたが、 `パス'Z:¥あ'の一部が見つかりませんでした。` となるだけでした。 ネットワークドライブを指定しフォルダの存在確認、作成を行うためには、どのように実装すればいいのでしょうか? ご教授のほどよろしくお願い致します。
回答: > > こんな感じでマウントしてます。 > > > ASP.NETのアプリケーションプールの実行ユーザーでもマウントした`Z`ドライブは見えてるんでしょうか? またアクセス権限は在るんでしょうか? net useでのネットワークドライブの割り当てはユーザー毎・ログインセッション毎ですのでASP.NETのプロセスの実行ユーザーからは見えないのでは無いでしょうか。