cmd.exe 或 ConEmu 的别名,以不带扩展名的文件名作为参数

cmd.exe 或 ConEmu 的别名,以不带扩展名的文件名作为参数

我想创建alias一个运行程序。我的别名如下:alias cc=g++ -Wall -Wextra $1 -o $1。这样我就可以写入cc app.cpp,命令将是g++ -Wall -Wextra app.cpp -o app.exe

然而,存在一个问题。

$1给出带扩展名的文件名,但我只需要文件名。有解决方法吗?doskey并且ConEmu没有不带扩展名的文件名的变量。例如,for在 中有一个这样的变量cmd.exe。它是%A

答案1

这其实很简单,因为@Ƭᴇcʜιᴇ007 提供了有用的链接。只需创建一个 bat 文件并粘贴以下内容:

@echo off
SETLOCAL
for %%i in (%1) do (set filename=%%~ni)
g++ -Wall -Wextra %1 -o %filename%.exe

经过测试并且运行良好。

相关内容