"Net share xyz / DELETE" falhará se um arquivo estiver em uso nesse compartilhamento

14

Estou tentando, usando o NAnt, desconectar um compartilhamento (para redirecioná-lo para outro lugar), mas minha tentativa falha:

[exec] Starting 'net (SHARE ad3-config /DELETE)' in 'c:\NAntDistributorBuilds\LocalInstallations\ad3config_master_1.0.19.4006'
[exec] Users have open files on ad3-config.  Continuing the operation will force the files closed.
[exec] No valid response was provided.
[exec] 
[exec] Do you want to continue this operation? (Y/N) [N]: 
[exec] c:\NAntDistributorBuilds\LocalInstallations\ad3config_master_1.0.19.4006\install.build(32,6):
[exec] External Program Failed: net (return code was -1)
[exec] Starting 'net (SHARE ad3-config="c:\NAntDistributorBuilds\LocalInstallations\ad3config_master_1.0.19.4006" /UNLIMITED)' in 'c:\NAntDistributorBuilds\LocalInstallations\ad3config_master_1.0.19.4006'
[exec] The name has already been shared.
[exec] 
[exec] More help is available by typing NET HELPMSG 2118.
[exec] 

Não consigo encontrar uma maneira de fornecer a resposta 'Sim' pela linha de comando - não há opções / Q. A máquina de destino é um servidor Windows 2003. O DOS tem um equivalente ao comando unix 'yes'?

Se eu puder fazê-lo na linha de comando, talvez eu consiga fazê-lo na tarefa exec do NAnt.

Andrew Matthews
fonte
desculpe pelo fluxo confuso de consciência. : S
Andrew Matthews
Você usa command.comtambém?
Hello71
Na verdade, isso faz parte de uma ferramenta de construção e implantação. Estou usando o NAnt (um pouco como o make) para chamar diretamente o comando net.
Andrew Matthews

Respostas:

17

A solução é fornecer / Y para forçar a exclusão. Isso não está documentado , infelizmente.

Nick Westgate
fonte
1

Você não pode apenas echo Y? Se não estiver usando o cmd, basta executá-lo com %COMSPEC% /c echo Y | net....

Hello71
fonte
Oi Hello71, Infelizmente não funcionou:
Andrew Matthews
mesmo erro de "nenhuma resposta fornecida"
Andrew Matthews