检查 UNC 路径时,用于测试文件夹是否存在的批处理脚本失败

Cha*_*had 4 scripting batch

我编写了一个小批处理文件来帮助我们进行服务器迁移以使用 GPO 重新映射用户目录。

然而,在批处理文件中,我遇到了一个语法问题,但它仍然失败。这是我到目前为止所拥有的。

If exist "\\server\UserData\%username%"     
GOTO :UNMAP    
ELSE    
NET USE H: \\newserver\UserData\%USERNAME%    
:UNMAP    
NET USE H: /DELETE /Y    
NET USE H: \\newserver\UserData\%USERNAME%
Run Code Online (Sandbox Code Playgroud)

现在,当我运行它时,我得到以下信息:

The syntax of the command is incorrect.
C:\>if exist "\\server\UserData\userfolder"
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题或我做错了什么吗?

lon*_*eck 7

goto :unmap 应该和 if

更好的是,将整个事情简化如下:

If exist "\\server\UserData\%username%\." NET USE H: /DELETE /Y
NET USE H: "\\newserver\UserData\%USERNAME%"
Run Code Online (Sandbox Code Playgroud)

  • 坦率地说,你甚至不需要 if。只是盲目地删除h:驱动器。您将在下一行重新映射它,那么谁在乎它是否返回错误呢? (2认同)