将文件从一个目录复制并粘贴到当前工作目录中

时间:2014-03-22 19:31:34

标签: windows batch-file cmd

我试图调试我无法运行此命令的原因

DOSKEY w-new = copy C:\ utils \ ticket_templates \ wordpress \ readme.txt"%cd%/ readme.txt" / Y

我已尝试将两个Windows cmd作为管理员而不是

如果我只输入C:\ utils \ ticket_templates \ wordpress \ readme.txt"%cd%/ readme.txt"进入终端它工作但不是如果我使用w-new别名。

w-new别名也不一致。例如,我可以在/ user /%USERPROFILE%/ dir中使用它,但不能在它的任何子目录中使用它。

我检查了目的地的文件权限,它与/ user /%USEPROFILE%/

完全相同

有任何关于调试此建议的建议表示赞赏。源和目标都是git存储库btw。和/ user /%USERPROFILE%/

一样

1 个答案:

答案 0 :(得分:1)

当定义%cd%别名时,问题是w-new被扩展,因此复制目标变为常量 - 宏定义时的当前目录。您可以通过在命令行提示符下键入以下内容来查看:

doskey /macros

此外,您不应将/用作文件夹分隔符,而是使用\/经常有效,但并非在所有情况下都有效。

您可以通过在变量名称中插入插入符来阻止在定义期间展开%cd%

DOSKEY w-new=copy C:\utils\ticket_templates\wordpress\readme.txt "%^cd%\readme.txt" /Y

但为什么要提供任何目标呢?您只是使用原始文件名将文件复制到当前目录 - 这是未指定目标时COPY的默认行为。

所以你的宏可以简单地是:

DOSKEY w-new=copy C:\utils\ticket_templates\wordpress\readme.txt