无需用户交互即可运行某个 XCOPY 命令

无需用户交互即可运行某个 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文件时,不会出现该消息。

答案1

啊。

echo F | XCOPY Z:\.vimrc %USERPROFILE%\_vimrc /H

答案2

黑客:

type Z:\.vimrc > "%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
)

相关内容