いくつかのフォルダーにバッチファイルがありますが、このファイルでは、Windows 7ではユニット(ドライブ)のプロパティが異なるため、subst T: .
の古いNet Use
コマンドを置き換える必要があります。
ただし、Net Use
では次のような絶対パスしか使用できないことがわかりました。
Net Use T: \\path\to\folder
絶対パスを操作できませんが、Net Use T: .
は許可されていません(エラーがスローされます)。
現在の.batディレクトリを使用するようにフォルダからNet Use
コマンドを実行する方法はありますか?
私にとって最善の解決策は、バッチコマンドで絶対修飾パス(\ path\to\folder)を取得できるようにすることだと思います。 (この場合、%cd%およびchdir変数は機能しません)。 Net Use
コマンドはx:\path\to\folder
などのパスを許可しないため、現在のディレクトリまたはフォルダ名の取得に関する質問は役に立ちません。
_%~dp0
_は、あなたが求めているものを正確に提供します(つまり、_\\server\share\to\folder
_)。しかし、あなたはできません _Net Use
_コマンドに使用します。 _Net Use
_コマンドは、ドライブ文字を作成するために_\\server\share
_部分のみを受け入れます。
_\to\folder
_-部分を取り除き、後でバッチファイルに追加する作業を行うことができますが、_pushd \\server\share\to\folder
_コマンドを使用する方がよい場合があります。このコマンドを使用すると、一時的なドライバーレターが作成され、現在のディレクトリが自動的に正しいフォルダーに変更されます。 popd
-コマンドを使用すると、開始した場所に戻り、一時ドライブが解放されます。
そう:
_C:\>
C:\>pushd \\wdmycloud\public\new folder
Z:\New folder>::do your thing
Z:\New folder>
Z:\New folder>popd
C:\>
_
B.T.W.作成された一時ドライブを確認する必要がある場合は、バッチファイルで_%~d0
_を使用できます。そして、完全なパスの場合は_%~dp0
_など(またはもちろん_%cd%
_ :))。