For some reason the path that the var share creates navigates to the UNC path in explorer that I'm trying to map to Drive Y: yet when using:
Não sei ao certo o que você quer dizer com "navega para o caminho UNC". Você quer dizer que muda para esse diretório em vez de criar um compartilhamento?
Além disso, não sei por que você precisa mapear o compartilhamento UNC para excluir seu conteúdo. Você não poderia simplesmente usar o caminho UNC diretamente como abaixo?
set share=\SERVER\d$\tsprofiles\%USERNAME%.V2\AppData\Roaming
ECHO Deleting..... %share%
del "%share%\*" /F /S /Q
del "%share%\*" /F /Q
Além disso, notei que seu exemplo é indentado. Esse snippet de um bloco de condição / loop está entre parênteses? Por exemplo, IF EXIST "\SERVER\d$" ( <your script lines here> )
.
Se o script estiver aninhado em um bloco de parênteses, você deve usar a expansão atrasada na variável share
usando pontos de exclamação em vez de símbolos de porcentagem como este:
SETLOCAL ENABLEDELAYEDEXPANSION
IF EXIST "\SERVER\d$" (
set share=\SERVER\d$\tsprofiles\%USERNAME%.V2\AppData\Roaming
ECHO Deleting..... "!share!"
net use Y: "!share!"
cd /D Y:\
del * /F /S /Q
del * /F /Q
net use Y: /DELETE /YES
)
ENDLOCAL
Caso contrário, a variável de compartilhamento será sempre o mesmo valor que foi quando o bloco de parênteses foi inserido em vez do valor definido.
E, como já foi dito nos comentários, você precisa citar o compartilhamento no caso de %USERNAME%
ter espaços.