👌

【windows】ネットワーク上のファイルサーバー上でコマンド操作

2024/12/08に公開

ファイルサーバ上のディレクトリでコマンド実行できない

$ pnpm init
'\\SVR-NAME\dir-name\my-project\'
上記の現在のディレクトリで CMD.EXE を開始しました。
UNC パスはサポートされません。Windows ディレクトリを既定で使用します。

Windows ディレクトリ(Cドライブ)直下にpackage.jsonが作られてしまう。

マッピングドライブを使用

GPT先生などで調べた解決策

UNC パスをマッピングドライブに変換して、そのドライブ名を使う方法もあります。
例えば、\SVR-NAME\dir-nameを Z: ドライブにマップし、Z:\File.txt のように使用することができます。

https://qiita.com/kt921112/items/3c51c4132d2ba593e5da

仮想のドライブを作って、そこにファイルサーバーを割り当てる?みたいな感じなのかな?

しかしエラー

$ net use Z: \\SVR-NAME\dir-name
システム エラー 67 が発生しました。

ネットワーク名が見つかりません。

【解決策】 IPアドレスでマッピング再挑戦

IPアドレス確認

pingコマンドでIPを確認(IPアドレスが分かればなんでもいい)

$ ping SVR-NAME

SVR-NAME.sample.co.jp [192.168.1.1]ping を送信しています 32 バイトのデータ:
192.168.1.1 からの応答: バイト数 =32 時間 <1ms TTL=126
192.168.1.1 からの応答: バイト数 =32 時間 <1ms TTL=126
192.168.1.1 からの応答: バイト数 =32 時間 <1ms TTL=126
192.168.1.1 からの応答: バイト数 =32 時間 <1ms TTL=126

192.168.1.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms

IPアドレスでドライブ割り当てを設定

net use Z: \\192.168.1.1\dir-name$

ドライブの変更

bash

cd /Z

cmd

Z:

ファイルサーバーのショートカット作成し直し

ちなみにファイルサーバーへのショートカットがUNCパスで作られているとエクスプローラーのアドレスバーに「cmd」って打ったり、VScodeにドラック&ドロップで開いたりした時、terminalの初期ディレクトリもUNCパスになる。(そしてコマンドが使えず本記事の問題が発生する)

いちいちドライブ変更してcdするのはめんどうなので、(この例では)zドライブとしてショートカットを作りなおすと、ローカルディレクトリと同じように、プロジェクトのフォルダをでVScodeで開いたりしても、Terminalを開いた時に期ディレクトリがzドライブの該当ディレクトリになるので、違和感なく使える。

やり方は普通にzドライブのパスでディレクトリを開く。それをショートカットにするだけ。

Discussion