13

Я пытаюсь, используя NAnt, отключить общий ресурс (чтобы перенаправить его куда-то еще), но моя попытка не удалась:

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

Я не вижу способа предоставить ответ «Да» через командную строку - нет переключателей /Q. Целевой компьютер - сервер Windows 2003. Есть ли в DOS эквивалент команды unix 'yes'?

Если я могу сделать это в командной строке, то я могу сделать это в exec-задаче NAnt.

2 ответа2

16

Решение состоит в том, чтобы указать /Y для принудительного удаления. К сожалению, это не задокументировано .

1

Вы не можете просто echo Y? Если он не использует cmd, просто запустите его с %COMSPEC% /c echo Y | net...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .