web-dev-qa-db-ja.com

UNCパスを確認するときにフォルダーが存在するかどうかをテストするバッチスクリプトが失敗する

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%

これを実行すると、次のようになります。

The syntax of the command is incorrect.
C:\>if exist "\\server\UserData\userfolder"

これを解決する方法、または私が間違っていることはありますか?

4
Chad

goto :unmapifと同じ行にある必要があります

さらに良いことに、次のように全体を単純化します。

If exist "\\server\UserData\%username%\." Net Use H: /DELETE /Y
Net Use H: "\\newserver\UserData\%USERNAME%"
7
longneck