1

我正在尝试对@Argyll 在此 SO 答案中提供的代码进行轻微修改,特别是更改:

DOSKEY alias=notepad %USERPROFILE%\Dropbox\alias.cmd

至:

doskey alias=echo doskey $*>>%0

但是当我使用这个新别名时重定向失败,我只是doskey <whatever I typed after alias>像往常一样简单地回显到控制台:-(

您可能会说,我是一个批处理脚本菜鸟,所以我在这里做错了什么?MTIA :-)

4

1 回答 1

1

您需要转义重定向,否则重定向在您调用时处于活动状态doskey alias=echo doskey $*>>%0,它将 doskey 命令的输出(在这种情况下始终为空)附加到当前批处理文件。

但是如果你修改你的行

doskey alias=echo doskey $*^>^> "%~f0"

这将创建一个名为的alias

alias=echo doskey $* >> C:\myfull\path\to\myBatch.bat

我使用%~f0完整路径,否则宏可以定义为

alias=echo doskey $* >> myBatch.bat

如果您不在正确的目录中,那显然会失败

于 2021-09-02T11:59:21.153 回答