バッチファイルで、Net useとフォルダアドレスベタ打ち、何が違うか知りたい
バッチファイルで、Net useとフォルダアドレスベタ打ち、何が違うか知りたい
2024年10月7日追記:解決済
皆様回答ありがとうございます。
・常時ドライブマウントされたネットワークフォルダを見に行く場合でも、やはりNet useで認証するコマンドは入れたほうがよい。認証がPC再起動時など時々切れることもあるから。
・再起動時に自動で再度接続するには net use /user pw /persistent: yes のコマンドが使える
・いちいちアンマウントはしなくていいかも
ということがわかりました!初めての投稿でいろいろ教えていただき解決できて感謝です。
【背景】
PC(1)のフォルダs (Source) からPC(2)のフォルダd (Destination) に.txtファイルがあったらコピーするバッチコマンドを、PC(1)上に作りたいです。何秒かごとにTask schedulerで動かす予定です。
PC(1)からPC(2)の”d"フォルダにアクセスするには、最初はUser IDとPasswordを求められますが、一度アクセスしてしまえばコマンドにID/PWをいれなくても、あるいはnetuseコマンドを使わなくても、入れてしまうように見えます。
【質問】qi
ここで、net useコマンドによる「ドライブマウント」をバッチコマンドの中に入れたほうがよいか、不要かがわからず、どなたかご教示いただけると幸いです。
以下のコマンド例 AとBをご覧ください。
(A) 昔の同僚が提案してくれたコード:
set s=C:Source
set d=L:Desitination
set Drive="\\169.xxx.xxx.xxx\Destination"
set d_user="user"
set d_pass="password"
rem ドライブマウント
net use D: %Drive% /user:%d_user% %d_pass%
rem 3. Move file
if exist %s% move %s%\*.txt %d%\text.txt
rem 3. Drive unmount
net use D: /d /y
※所感:PC(2)のDestinationフォルダは、PC(1)から見ると既に常時にDドライブとしてマウントされていて、わざわざコマンドでnet useをする意味があまりわからない。
(B) 自分が考えるコード:
set s=C:\Source
set d=\\169.xxx.xxx.xxx\Destination
if exsit %s% copy %s%\*.txt %d%\test.txt
※所感:これでも十分動くのでこれで良い気がする。
目的の詳細:既存の(A)のようなコードを、さらに機能追加したい (さらに別の場所に、CopyだけではなくMoveも行うなど) ですが、元のAのコードもBのように作り変えてしまってもよいか、悩んでいます。
(A)のようなバッチファイルコマンドを作った同僚はもうやめてしまっていて、なぜnetuseコマンドを入れたのかもう聞けない状態です。
そもそも、Windowsのネットワークドライブにおいて、ドライブマウントのメリットが何なのかも、勉強不足であまりわかっておりません。(単に D: とか L: とかは、わかりやすいなとは思いますけど、システム上から考えると何がメリットなんだろう、と。)
以上、net useコマンドや、ドライブマウント、Windowsのバッチファイルコマンドに詳しい方がいましたら是非ご教示お願いします。