"Net share xyz / DELETE" falla si un archivo está en uso en ese recurso compartido

14

Estoy intentando, usando NAnt, desconectar un recurso compartido (para redirigirlo a otro lugar) pero mi intento falla:

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

No puedo ver una manera de proporcionar la respuesta 'Sí' a través de la línea de comando: no hay interruptores / Q. La máquina de destino es un servidor Windows 2003. ¿DOS tiene un equivalente al comando unix 'yes'?

Si puedo hacerlo en la línea de comando, entonces puedo hacerlo en la tarea ejecutiva de NAnt.

Andrew Matthews
fuente
Perdón por el torbellino de la conciencia. : S
Andrew Matthews
¿Usas command.comtambién?
Hola71
De hecho, esto es parte de una herramienta de compilación y despliegue. Estoy usando NAnt (un poco como make) para invocar directamente el comando net.
Andrew Matthews

Respuestas:

17

La solución es suministrar / Y para forzar la eliminación. Esto no está documentado , desafortunadamente.

Nick Westgate
fuente
1

¿No puedes simplemente echo Y? Si no está usando cmd, simplemente ejecútelo con %COMSPEC% /c echo Y | net....

Hola71
fuente
Hola Hello71, lamentablemente no funcionó:
Andrew Matthews
mismo error de "no se proporcionó respuesta"
Andrew Matthews