我正在尝试在 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
)