Doskey 变量扩展

Doskey 变量扩展

我认为这个问题的答案是否定的,但事实不应该如此。

从命令提示符通常执行以下命令(作为示例):

C:\> FOR %I IN (*) DO ECHO %~xI

会给我目录中所有文件的扩展名。

我想用DOSKEY相同的逻辑来创建别名。例如:

C:\> MACRO=ECHO $~x1

因此它的工作原理如下:

C:\> MACRO file.js

输出是

.js

显然我想做一些更有用的事情,但我无法让这个基本部分发挥作用。可能吗?

答案1

Doskey $1 参数不支持批处理参数和 FOR 变量等修饰符。

但是您可以在 FOR 语句中处理 Doskey 参数并使用正常的 FOR 变量修饰符。我使用 $* 而不是 $1,这样您就可以提供多个值。

doskey showExt=for %F in ($*) do @echo(%~xF

用法:

showExt test.bat test.txt

输出:

.bat
.txt

相关内容