带有相对目标路径的 Net Use 命令

带有相对目标路径的 Net Use 命令

我有一个位于多个文件夹中的批处理文件,并且我需要在此文件中替换旧subst T: .命令,net use因为 Windows 7 中的单元(驱动器)具有不同的属性。

但是,我发现net use只允许绝对路径,例如:

net use T: \\path\to\folder

我无法使用绝对路径,但这net use T: .是不允许的(它会引发错误)。

有没有办法net use从文件夹执行命令以便它使用当前的.bat 目录?

我认为对我来说最好的解决方案是能够使用批处理命令获取绝对限定路径 (\path\to\folder)。(在这种情况下,%cd% 和 chdir 变量不起作用)。有关获取当前目录或文件夹名称的问题没有用,因为该net use命令不允许以下路径x:\path\to\folder

答案1

将会%~dp0满足您的要求(即\\server\share\to\folder)。但是你不能将其用于您的net use命令。该net use命令仅接受\\server\share创建驱动器号的部分。

您可以做一些工作来删除 -part \to\folder,然后稍后将其添加到批处理文件中,但使用命令可能更好pushd \\server\share\to\folder。使用该命令会创建一个临时驱动器字母,并且当前目录会自动更改为正确的文件夹。使用 -command,popd您可以回到开始的位置,并且临时驱动器会被释放。

所以:

C:\>

C:\>pushd \\wdmycloud\public\new folder

Z:\New folder>::do your thing
Z:\New folder>
Z:\New folder>popd

C:\>

顺便说一句,如果您需要找出创建了什么临时驱动器,您可以%~d0在批处理文件中使用。以及%~dp0完整路径,等等(或者%cd%当然 :))。

相关内容