我有这个代码:
FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) do (
IF NOT EXIST %%d:\ (
echo Free drive %%d
set D=%%d:
)
)
echo d=%D%
echo Using %D% to map remote drive
subst %D% /d
subst %D% \\path_to_drive
在此之后,我使用该D
变量来映射空闲驱动器。问题是,当我第一次运行它并尝试映射驱动器时,脚本认为 D 变量未定义或不包含任何内容。如果我在脚本结束时打印它的值,则:
set D
我看到它找到了一个驱动器,它得到了它的价值。当我第二次运行脚本时,它将按预期工作。批处理认为该变量未定义,并且在脚本完成执行后它具有一个值,这让我发疯。我还想补充一点,这是唯一D
使用变量的部分,并且ALWAYS
至少会有一个空闲驱动器,因此,没有可用驱动器的事实是不正确的。
编辑:我添加了用于映射驱动器的行。