

社内のファイルサーバーからエクセルファイルをローカルに落とすことが頻繁にあります。  
サーバー上のファイルを直接閲覧することは禁止されているため、見るだけであってもローカルに落とす必要があるのですが、毎回、サーバーを見に行きコピペする作業が面倒なので、プログラム実行して自動でダウンロードできたらと思いました。

・サーバーのアドレスは`smb://`で始まる  
・DLしたいファイルは主にエクセルファイル  
・プログラム実行であらかじめ指定してあるファイルをサーバー上からデスクトップにコピー(上書き)

このようなことは可能でしょうか？また、どの言語が簡単でしょうか。  
Node.jsやPythonでできれば新たに環境作る必要もないのでその方が良いですが、なんでもいいです。

ご回答のほど、よろしくお願いいたします。


CC BY-SA 4.0
2019-01-11T07:05:14.280
51885
2023-09-24T02:08:31.020
2020-02-20T13:12:35.677
19110
30065
question
network smb
ファイルサーバー上にあるファイルをローカルにDLする


Windowsに標準で付いてくる PowerShell で出来るでしょう。

リファレンスは英語ですが。  
[Copy-Item](https://docs.microsoft.com/en-
us/powershell/module/microsoft.powershell.management/copy-
item?view=powershell-6)

こんな解説記事があります。  
[PowerShell の Copy-Item コマンドレットを使用して WinRM
でファイル転送する方法](https://blog.ipswitch.com/jp/use-powershell-copy-item-cmdlet-
transfer-files-winrm)

オプションなので入っていない場合は「コントロールパネル」「プログラムのアンインストール」「Windowsの機能の有効化または無効化」で「Windows
PowerShell
2.0」を有効にするか、マイクロソフトのダウンロードセンター等から、もっと新しい版数のパッケージをダウンロードしてインストールすれば良いでしょう。

使用OS版数によってインストール可能な版数が変わると思いますが、最新版は6.0のようです。

検索すれば色々と使い方の記事が出てくると思います。

* * *

コメントを見たらmacのようですが、今ではmacやLinuxでもサポートしているので、  
おそらく同様に使えるでしょう。使いたいかどうかは、まあお好みで。

[macOS への PowerShell Core のインストール](https://docs.microsoft.com/ja-
jp/powershell/scripting/install/installing-powershell-core-on-
macos?view=powershell-6)  
[Linux への PowerShell Core のインストール](https://docs.microsoft.com/ja-
jp/powershell/scripting/install/installing-powershell-core-on-
linux?view=powershell-6)

[【連載】PowerShell Core入門 -
基本コマンドの使い方【第7回】ファイルやディレクトリの作成、削除、コピー、移動](https://news.mynavi.jp/itsearch/article/hardware/3734)  
[クロスプラットフォーム対応したPowerShellをMac OS Xで試してみた](https://dev.classmethod.jp/server-
side/powershell-macosx/)


CC BY-SA 4.0
2019-01-11T07:31:39.257
51886
2019-01-11T07:57:22.470
2019-01-11T07:57:22.470
26370
26370
51885
answer


> あらかじめ指定してあるファイル

とのことなので、ファイル名は固定なのですね。

仮に `smb://hoge-server/share/sample.xlsx` というパスに置かれているとします。

この場合、

[code]

    copy \\hoge-server\share\sample.xlsx sample.xlsx
    
[/code]

という1行だけのBATファイルを作り、デスクトップに `copy_xlsx.bat`
みたいな名前で保存しておき、必要になるたびダブルクリックすれば良いと思います。

この方法ならば、PowerShellと違って初めて実行する際に、特別に権限を与える必要がありません。

  
ただ、もしファイルパスに日本語が含まれていたら、「コピー元ファイルが見つからない」扱いになるため、この方法は使えません。


CC BY-SA 4.0
2020-09-17T09:31:03.083
70487
2020-09-17T15:54:14.113
2020-09-17T15:54:14.113
3060
41938
51885
answer