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

我试图debugging为什么我不能运行这个命令

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

我已经尝试了两个Windows cmd作为pipe理员,而不是

如果我只是键入C:\ utils \ ticket_templates \ wordpress \ readme.txt“%cd%/ readme.txt”到terminal它的工作,但不是如果我使用w新的别名。

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

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

任何意见debugging这是赞赏。 源和目标都是git仓库btw。 as / user /%USERPROFILE%/

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

 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