サーバの場所から問題なくバッチファイルを実行するのに、pushd "%~dp0"
trickを長年使用しています。 CMD拡張機能が利用できないか、ドライブ文字(ref1、ref2)が不足しているためではありません。何が起こっているのか?UNCパスが許可されていないため、cmd拡張機能が有効になっていません。
システムはWin7-Pro SP1 x64です。
サードパーティは、(私はこれらをインストールした後のpushd + UNCを使用しましたかなり確信している、それは非常に一般的な手法だが、それに誓うことができない)と相互作用するか、またはCMDを変更したインストール:
。
d:\>pushd \\server4\share
' '
CMD does not support UNC paths as current directories.
。
d:\>reg query "HKCU\Software\Microsoft\Command Processor" /v EnableExtensions
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
EnableExtensions REG_DWORD 0x1
d:\>net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
OK B: \\server1\dev Microsoft Windows Network
OK F: \\server1\dev Microsoft Windows Network
OK G: \\server2\corp Microsoft Windows Network
OK H: \\server3\home Microsoft Windows Network
OK I: \\server4\share Microsoft Windows Network
OK N: \\server1\dev Microsoft Windows Network
OK O: \\server1\dev Microsoft Windows Network
OK P: \\server5\files Microsoft Windows Network
OK Q: \\server1\dev Microsoft Windows Network
OK R: \\server5\work Microsoft Windows Network
S: \\server6\data Microsoft Windows Network
OK T: \\server5\maps Microsoft Windows Network
OK U: \\server7\layers Microsoft Windows Network
OK V: \\server8\home\me Microsoft Windows Network
OK W: \\server5\warehouse Microsoft Windows Network
OK X: \\server5\work Microsoft Windows Network
OK Y: \\server5\dev_repo Microsoft Windows Network
OK Z: \\server5\repository Microsoft Windows Network
OK \\server5\work Microsoft Windows Network
\\mysites.sharepoint.org\DavWWWRoot Web Client Network
OK \\server4\ITSupport Microsoft Windows Network
\\[email protected]\DavWWWRoot Web Client Network
\\sharepoint.org\DavWWWRoot Web Client Network
The command completed successfully.
解決策ではありませんが、 'pushd'が失敗した場合は、次のようにします:' pushd \\ server4 \ share || exit/B 1'なので、他の 'pushd'からパスを失う可能性のある' popd'が実行されていません。 – aschipfl
バッチファイルで直接UNCパスを使用するだけではどうですか?私はいつかMSがドライブレターを取り除き、マウントポイントを使うことを望んでいます。 – Squashman