«Net share xyz / DELETE» échoue si un fichier est utilisé sur ce partage

14

J'essaie, en utilisant NAnt, de déconnecter un partage (afin de le rediriger ailleurs) mais ma tentative échoue:

[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] 

Je ne vois pas de moyen de fournir la réponse «Oui» via la ligne de commande - il n'y a pas de commutateurs / Q. La machine cible est un serveur Windows 2003. DOS a-t-il un équivalent à la commande unix «oui»?

Si je peux le faire sur la ligne de commande, je pourrai peut-être le faire dans la tâche d'exécution de NAnt.

Andrew Matthews
la source
désolé pour le flot de conscience brouillé. : S
Andrew Matthews
Vous utilisez command.comaussi?
Hello71
En fait, cela fait partie d'un outil de construction et de déploiement. J'utilise NAnt (un peu comme make) pour appeler directement la commande net.
Andrew Matthews,

Réponses:

17

La solution est de fournir / Y pour forcer la suppression. Ce n'est malheureusement pas documenté .

Nick Westgate
la source
1

Tu ne peux pas juste echo Y? S'il n'utilise pas cmd, exécutez-le simplement avec %COMSPEC% /c echo Y | net....

Bonjour71
la source
Salut Hello71, Malheureusement, cela n'a pas fonctionné:
Andrew Matthews
même erreur de «aucune réponse fournie»
Andrew Matthews