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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

1回答

1168閲覧

Win10から見えるlan内ファイルを読み込みたい

syoshinsya-

総合スコア21

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

1クリップ

投稿2021/12/06 09:45

#やりたいこと
win10のファイルエクスプローラーから「PC→ネットワークの場所」を見るとlan内のサーバ?の情報があることがわかります(画像では2つ表示されています)。
そこの中には画像などのファイルがあるのですがこれらを読み込みたいと思っています。
読み込むといっても今回はファイル名やフォルダ名を読み込むだけで、ファイルを開くところまでいかなくてもいいかなと思っています(例えばレコーダー内の録画データなどにアクセスできますが、録画した番組の再生は別の問題があるはず…)。
イメージ説明

情報取得の方法として考えていること

  1. win10が情報取得をどのように行っているかを調べて同じ方法で0からデータを持ってくる
  2. win10が読み込んでくれているのでそれをどうにかしてプログラム上から読み込む
  3. CMDやPowerShellをプログラム上で実行してデータを読み込んでみる

これら3つくらいの方法があるのかなと思っています。
1つ目の方法は学習コストが高そうだなと思っています。なので2つ目か3つ目の方法でデータを持ってこれるといいなと思っています。

#試してみたこと
##その1 win10がどうやって読み込んでいるかを調べてみる
UPnPとかDLNAとかって名前が出てきましたが情報が英語ばかりで理解するのに時間がかかりそうです...将来的にはこの方がいいのかもしれませんが、今回はこれはやめておきたいです
##その2 CMDから移動してみる
cdコマンドとかで移動してlsコマンドでファイルとかの名前読めないかなぁって思ったんですが、そもそもドライブとして読み込まれていないので無理でした。
##その3 PowerShellから読み込んでみる
cdコマンドなどでの移動が無理とわかりました。そのため「Get-NetNeighbor」でlanに接続しているデバイスを調べてどうにかできないかな...ってことで実行しました。
→「ネットワークの場所」にあるサーバのIPを確認することはできたのですがそこに移動する方法がわかりません

結局教えていただきたいこと

「ネットワークの場所」で表示されたlan内サーバ?の中のフォルダ、ファイル情報を持ってくるために、

  • 便利なライブラリ
  • CMD、PowerShellなどのコマンド

などがあれば教えていただきたいです。
とりあえず言語は何でもいいです…やりたいことの実現が最優先って感じで行きたいと思います(わがままを言うとC#とかJavaとか、Pythonだと使ったことあるからうれしいです)。

よろしくお願いします

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

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

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

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

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

takasima20

2021/12/06 11:30

とりあえず net コマンドを調べてみてはいかがでしょうか。
syoshinsya-

2021/12/07 10:41

netコマンドはよくわからなかったんですが、それ関連で調べていたらSocketでUPnPの情報を引っ張ってこれることがわかりました。 ありがとうございます!
guest

回答1

0

自己解決

Socketを使ってM-SEARCHというものをすることでUPnPを使用している機器を調べることができるようです。

HTTP

1M-SEARCH * HTTP/1.1 2Host: 239.255.255.250:1900 3MAN: "ssdp:discover 4MX: 5 5ST: upnp:rootdevice

このようなリクエストをすることで情報がもらえるみたいです

投稿2021/12/07 10:44

syoshinsya-

総合スコア21

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問