Выполнение определенной команды XCOPY без взаимодействия с пользователем
Я пытаюсь запустить следующую команду в Windows CLI:
XCOPY Z:\.vimrc %USERPROFILE%\_vimrc /H
/H
часть должна быть там, потому что Z:\.vimrc
это скрытый файл
Когда я запускаю команду выше, я получаю следующее сообщение:
Does C:\Users\Matt\_vimrc specify a file name
or directory name on target
(F = file, D = directory)?
Эта команда в конечном итоге будет частью файла BAT, и я не хочу, чтобы это приглашение. Ответ на это всегда "F".
Если .vimrc
а также _vimrc
были названы одинаково, я мог бы просто выполнить одну из этих команд и покончить с этим:
XCOPY Z:\.vimrc %USERPROFILE%\ /H
XCOPY Z:\.vimrc %USERPROFILE% /H /I
Но это не так, я не могу. Как мне подавить это сообщение?
Я знаю, что могу скопировать его с тем же именем файла и затем переместить его, но давай, это действительно должны быть две команды? Я просто копирую файл.
Примечание: когда уже есть %USERPROFILE%\_vimrc
файл, сообщение не появляется.
3 ответа
Я действительно не вижу проблемы с переименованием потом
xcopy Z:\.vimrc %USERPROFILE%\ /H && ren %USERPROFILE%\.vimrc _vimrc
Если существует вероятность того, что файл уже существует:
if NOT EXIST %USERPROFILE%\_vimrc (
xcopy Z:\.vimrc %USERPROFILE%\ /H && ren %USERPROFILE%\.vimrc _vimrc
) ELSE (
del %USERPROFILE%\_vimrc
xcopy Z:\.vimrc %USERPROFILE%\ /H && ren %USERPROFILE%\.vimrc _vimrc
)