„Net share xyz / DELETE” kończy się niepowodzeniem, jeśli plik jest używany w tym udziale

15

Próbuję za pomocą NAnt odłączyć udział (w celu przekierowania go gdzie indziej), ale moja próba się nie udała:

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

Nie widzę sposobu na udzielenie odpowiedzi „Tak” za pomocą wiersza poleceń - nie ma przełączników / Q. Komputer docelowy to serwer Windows 2003. Czy DOS ma odpowiednik uniksowego polecenia „tak”?

Jeśli mogę to zrobić w wierszu poleceń, być może będę mógł to zrobić w zadaniu exec NAnta.

Andrew Matthews
źródło
przepraszam za pomieszany strumień świadomości. : S
Andrew Matthews,
Ty command.comteż używasz ?
Cześć71,
W rzeczywistości jest to część narzędzia do kompilacji i wdrażania. Używam NAnt (trochę jak make), aby bezpośrednio wywołać polecenie net.
Andrew Matthews,

Odpowiedzi:

18

Rozwiązaniem jest podanie / Y, aby wymusić usunięcie. Niestety nie jest to udokumentowane .

Nick Westgate
źródło
1

Nie możesz po prostu echo Y? Jeśli nie używa cmd, po prostu uruchom go %COMSPEC% /c echo Y | net....

Cześć71
źródło
Cześć Witaj71, niestety to nie zadziałało:
Andrew Matthews,
ten sam błąd „brak odpowiedzi”
Andrew Matthews,